:root {
	--tt-ink: #202231;
	--tt-muted: #737789;
	--tt-bg: #f7f6f5;
	--tt-soft: #f0efee;
	--tt-panel: #ffffff;
	--tt-brand: #737dc0;
	--tt-brand-dark: #5864aa;
	--tt-brand-soft: #dfe3f7;
	--tt-line: #c8cce7;
	--tt-product: #d5d5d5;
	--tt-sale: #ee2a42;
	--tt-radius: 8px;
	--tt-max: 1240px;
	--font-primary: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--tt-body: var(--font-primary);
}

/* Final premium account dashboard overrides */
.woocommerce-account {
	background: #f8f6f4;
}

.logged-in.woocommerce-account .woocommerce {
	align-items: start;
	display: grid;
	gap: 32px;
	grid-template-columns: 300px minmax(0, 1fr);
	margin: 0 auto;
	max-width: 1400px;
	padding: 88px 24px 128px;
	width: 100%;
}

.logged-in.woocommerce-account .woocommerce::before,
.logged-in.woocommerce-account .woocommerce::after {
	content: none;
	display: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	border-radius: 20px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
	padding: 20px;
	position: sticky;
	top: 112px;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a {
	border-radius: 14px;
	min-height: 54px;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
	background: #7278d5;
	box-shadow: 0 14px 28px rgba(114, 120, 213, 0.28);
	color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover {
	background: rgba(114, 120, 213, 0.1);
	color: #7278d5;
}

.tt-account-dashboard {
	gap: 32px;
}

.tt-account-welcome-card,
.tt-account-panel,
.tt-account-dash-card,
.tt-account-stat-card,
.tt-account-address-card,
.tt-account-wishlist-card,
.woocommerce-account .woocommerce-MyAccount-content > p,
.woocommerce-account .woocommerce-MyAccount-content form,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details,
.woocommerce-account .woocommerce-MyAccount-content table.my_account_orders {
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.tt-account-card-grid,
.tt-account-stats-grid,
.tt-account-address-grid,
.tt-account-wishlist-grid {
	gap: 24px;
}

.tt-account-page-loading .woocommerce-MyAccount-content {
	opacity: 0.68;
	pointer-events: none;
}

@media (max-width: 1180px) {
	.logged-in.woocommerce-account .woocommerce {
		grid-template-columns: 280px minmax(0, 1fr);
	}
}

@media (max-width: 860px) {
	.logged-in.woocommerce-account .woocommerce {
		display: block;
		padding: 56px 18px 88px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		margin-bottom: 24px;
		overflow-x: auto;
		position: static;
	}
}

@media (max-width: 560px) {
	.logged-in.woocommerce-account .woocommerce {
		padding: 40px 14px 72px;
	}
}

/* Dynamic hero presentation: final viewport and per-slide controls. */
.home .hero-slider,
.home .tiny-hero,
.home .hero-slider__track,
.home .hero-slide,
.home .tiny-hero__slide {
	height: calc(100svh - var(--tt-header-height, 148px)) !important;
	max-height: none !important;
	min-height: 0 !important;
}

.home .hero-slide__video {
	height: 100% !important;
	object-fit: cover !important;
	object-position: center;
	width: 100% !important;
}

.home .hero-slide--video-failed .hero-slide__video {
	display: none;
}

.home .hero-copy,
.home .hero-copy h1,
.home .hero-copy .hero-text,
.home .tiny-hero__title,
.home .tiny-hero__text {
	color: var(--tt-hero-text-color, #fff) !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.home .hero-slider,
	.home .tiny-hero,
	.home .hero-slider__track,
	.home .hero-slide,
	.home .tiny-hero__slide {
		height: 70svh !important;
	}
}

@media (max-width: 767px) {
	.home .hero-slider,
	.home .tiny-hero,
	.home .hero-slider__track,
	.home .hero-slide,
	.home .tiny-hero__slide {
		height: 60svh !important;
	}
}

/* Tiny Tootle WooCommerce Account UI */
.tt-account-page,
.tt-auth-account-page,
.tt-login-page-main,
.tt-wishlist-page {
	--tt-account-primary: #6D79B8;
	--tt-account-text: #181D27;
	--tt-account-muted: #717680;
	--tt-account-muted-strong: #414651;
	--tt-account-bg: #F5F2F1;
	--tt-account-soft-bg: #FAFAFA;
	--tt-account-card-bg: #FFFFFF;
	--tt-account-border: #E5E7EB;
	--tt-account-radius: 16px;
	--tt-account-shadow: 0 18px 48px rgba(24, 29, 39, 0.08);
	font-family: var(--font-primary);
	color: var(--tt-account-text);
}

.tt-account-page {
	background: var(--tt-account-bg);
	padding: 56px 0 76px;
}

.logged-in.woocommerce-account .woocommerce {
	display: block;
	grid-template-columns: none;
	gap: 0;
	padding: 0;
	background: transparent;
}

.tt-account-shell {
	width: min(1180px, calc(100% - 32px));
	margin: 0 auto;
	display: grid;
	grid-template-columns: 290px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}

.tt-account-nav {
	background: var(--tt-account-card-bg);
	border: 1px solid var(--tt-account-border);
	border-radius: var(--tt-account-radius);
	box-shadow: var(--tt-account-shadow);
	padding: 18px;
	position: sticky;
	top: 104px;
}

.tt-account-nav ul {
	list-style: none;
	margin: 18px 0 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

.tt-account-nav li {
	margin: 0;
	padding: 0;
}

.tt-account-nav a {
	min-height: 48px;
	display: flex;
	align-items: center;
	gap: 12px;
	border-radius: 12px;
	padding: 12px 14px;
	color: var(--tt-account-text);
	text-decoration: none;
	font-weight: 600;
	transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.tt-account-nav a:hover,
.tt-account-nav .is-active a {
	background: var(--tt-account-primary);
	color: #fff;
	transform: translateY(-1px);
}

.tt-account-nav-icon {
	width: 22px;
	height: 22px;
	display: inline-flex;
	flex: 0 0 22px;
}

.tt-account-nav-icon svg,
.tt-account-card-icon svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tt-account-sidebar-profile {
	display: flex;
	gap: 12px;
	align-items: center;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--tt-account-border);
}

.tt-account-sidebar-profile img {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	object-fit: cover;
}

.tt-account-sidebar-profile span,
.tt-account-sidebar-profile small,
.tt-account-section-head p,
.tt-auth-account-head p,
.tt-auth-help,
.tt-auth-switch {
	color: var(--tt-account-muted);
}

.tt-account-sidebar-profile strong {
	display: block;
	color: var(--tt-account-text);
	font-size: 15px;
}

.tt-account-sidebar-profile small {
	display: block;
	font-size: 12px;
	overflow-wrap: anywhere;
}

.tt-account-sidebar-brand {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--tt-account-border);
	color: var(--tt-account-muted);
	font-size: 12px;
}

.tt-account-sidebar-brand img {
	max-width: 120px;
	height: auto;
	display: block;
	margin-bottom: 8px;
}

.tt-account-content {
	min-width: 0;
	float: none;
	width: auto;
}

.tt-account-card,
.tt-account-welcome-card,
.tt-account-panel,
.tt-account-dash-card,
.tt-account-stat-card,
.tt-account-address-card,
.tt-account-wishlist-card,
.tt-account-order-card,
.tt-auth-account-card {
	background: var(--tt-account-card-bg);
	border: 1px solid var(--tt-account-border);
	border-radius: var(--tt-account-radius);
	box-shadow: var(--tt-account-shadow);
}

.tt-account-card {
	padding: 28px;
}

.tt-account-dashboard,
.tt-account-endpoint {
	display: grid;
	gap: 24px;
}

.tt-account-welcome-card {
	padding: 28px;
	display: grid;
	gap: 22px;
}

.tt-account-kicker {
	margin: 0 0 6px;
	color: var(--tt-account-primary);
	font-weight: 500;
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: 0;
}

.tt-account-welcome-card h2,
.tt-account-section-head h2,
.tt-account-section-head h3,
.tt-auth-account-head h1 {
	margin: 0;
	color: var(--tt-account-text);
	letter-spacing: 0;
}

.tt-account-welcome-card p,
.tt-account-section-head p {
	margin: 8px 0 0;
}

.tt-account-meta-grid,
.tt-account-card-grid,
.tt-account-stats-grid,
.tt-account-address-grid,
.tt-account-wishlist-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.tt-account-meta-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tt-account-meta-grid span,
.tt-account-stat-card {
	border-radius: 14px;
	background: var(--tt-account-soft-bg);
	border: 1px solid var(--tt-account-border);
	padding: 16px;
}

.tt-account-meta-grid small,
.tt-account-stat-card small,
.tt-account-order-card span {
	display: block;
	color: var(--tt-account-muted);
	font-size: 13px;
}

.tt-account-card-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tt-account-dash-card {
	display: flex;
	gap: 14px;
	padding: 18px;
	color: var(--tt-account-text);
	text-decoration: none;
	box-shadow: none;
}

.tt-account-dash-card:hover {
	border-color: var(--tt-account-primary);
	transform: translateY(-1px);
}

.tt-account-card-icon {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 40px;
	border-radius: 12px;
	background: rgba(109, 121, 184, 0.1);
	color: var(--tt-account-primary);
}

.tt-account-dash-card strong,
.tt-account-wishlist-card strong {
	display: block;
	color: var(--tt-account-text);
}

.tt-account-dash-card small {
	display: block;
	margin-top: 4px;
	color: var(--tt-account-muted);
}

.tt-account-section-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.tt-account-section-head a,
.tt-account-table-actions a,
.tt-account-soft-button,
.tt-account-primary-mini {
	color: var(--tt-account-primary);
	font-weight: 500;
	text-decoration: none;
}

.tt-account-order-list {
	display: grid;
	gap: 14px;
}

.tt-account-order-card {
	padding: 18px;
	box-shadow: none;
}

.tt-account-order-main {
	display: grid;
	grid-template-columns: 1.1fr 1fr 1fr 1.4fr;
	gap: 16px;
	align-items: center;
}

.tt-status-badge {
	display: inline-flex;
	width: fit-content;
	border-radius: 999px;
	padding: 6px 10px;
	background: rgba(109, 121, 184, 0.12);
	color: var(--tt-account-primary);
	font-style: normal;
	font-weight: 500;
	font-size: 12px;
}

.tt-account-order-actions,
.tt-account-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.tt-account-address-card {
	padding: 20px;
	box-shadow: none;
}

.tt-account-address-card header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.tt-account-address-card h3,
.tt-account-address-card h4 {
	margin: 0;
	color: var(--tt-account-text);
}

.tt-account-address-card address {
	color: var(--tt-account-muted-strong);
	line-height: 1.7;
	font-style: normal;
}

.tt-account-form,
.tt-auth-account-form {
	display: grid;
	gap: 18px;
}

.tt-account-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.tt-account-form p,
.tt-auth-account-form p {
	margin: 0;
}

.tt-account-form label,
.tt-auth-account-form label {
	display: block;
	margin-bottom: 8px;
	color: var(--tt-account-text);
	font-weight: 600;
}

.tt-account-form input.input-text,
.tt-account-form input[type="email"],
.tt-account-form input[type="password"],
.tt-account-form select,
.tt-account-form textarea,
.tt-auth-account-form input.input-text,
.tt-auth-account-form input[type="email"],
.tt-auth-account-form input[type="password"],
.tt-auth-account-form input[type="text"] {
	width: 100%;
	min-height: 48px;
	border: 1px solid var(--tt-account-border);
	border-radius: 12px;
	background: #fff;
	color: var(--tt-account-text);
	padding: 12px 14px;
	font: inherit;
	box-shadow: none;
}

.tt-account-form input:focus,
.tt-account-form select:focus,
.tt-account-form textarea:focus,
.tt-auth-account-form input:focus {
	outline: none;
	border-color: var(--tt-account-primary);
	box-shadow: 0 0 0 4px rgba(109, 121, 184, 0.14);
}

.tt-account-password-card {
	border: 1px solid var(--tt-account-border);
	border-radius: 14px;
	padding: 18px;
	margin: 4px 0 0;
}

.tt-account-password-card legend {
	padding: 0 8px;
	color: var(--tt-account-text);
	font-weight: 500;
}

.tt-account-save-button,
.tt-auth-submit,
.tt-account-card .button,
.tt-auth-account-card .button {
	min-height: 48px;
	border-radius: 12px;
	background: var(--tt-account-primary);
	border: 1px solid var(--tt-account-primary);
	color: #fff;
	font-weight: 500;
	padding: 12px 18px;
	text-align: center;
	text-decoration: none;
}

.tt-account-save-button,
.tt-auth-submit {
	width: 100%;
}

.tt-account-card .button:hover,
.tt-auth-account-card .button:hover,
.tt-account-save-button:hover,
.tt-auth-submit:hover {
	background: #5f69a8;
	border-color: #5f69a8;
	color: #fff;
}

.tt-account-empty-state {
	border: 1px dashed rgba(109, 121, 184, 0.35);
	border-radius: var(--tt-account-radius);
	background: var(--tt-account-soft-bg);
	padding: 34px;
	text-align: center;
}

.tt-account-empty-state strong {
	display: block;
	color: var(--tt-account-text);
	font-size: 20px;
}

.tt-account-empty-state p {
	color: var(--tt-account-muted);
}

.tt-auth-account-page {
	min-height: 70vh;
	background: var(--tt-account-bg);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 64px 16px;
}

.tt-auth-account-card {
	width: min(100%, 460px);
	padding: 32px;
}

.tt-auth-account-brand {
	text-align: center;
	margin-bottom: 22px;
}

.tt-auth-account-brand img {
	max-width: 150px;
	height: auto;
}

.tt-auth-account-head {
	text-align: center;
	margin-bottom: 22px;
}

.tt-auth-account-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	font-size: 14px;
}

.tt-auth-account-row label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.tt-auth-account-link,
.tt-auth-switch a {
	color: var(--tt-account-primary);
	font-weight: 500;
	text-decoration: none;
}

.tt-auth-switch {
	margin: 20px 0 0;
	text-align: center;
}

.tt-password-field {
	display: flex;
	align-items: center;
	position: relative;
}

.tt-password-field input {
	padding-right: 70px;
}

.tt-password-field button {
	position: absolute;
	right: 8px;
	border: 0;
	background: transparent;
	color: var(--tt-account-primary);
	font-weight: 500;
	cursor: pointer;
}

.tt-wishlist-empty {
	padding: 60px 20px;
	text-align: center;
}

.tt-loading-target {
	pointer-events: none;
	opacity: 0.78;
}

@media (max-width: 980px) {
	.tt-account-shell {
		grid-template-columns: 1fr;
	}

	.tt-account-nav {
		position: static;
		overflow-x: auto;
	}

	.tt-account-nav ul {
		display: flex;
		min-width: max-content;
	}

	.tt-account-sidebar-brand {
		display: none;
	}

	.tt-account-card-grid,
	.tt-account-order-main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.tt-account-page {
		padding: 34px 0 58px;
	}

	.tt-account-shell {
		width: min(100% - 24px, 1180px);
		gap: 18px;
	}

	.tt-account-card,
	.tt-account-welcome-card,
	.tt-auth-account-card {
		padding: 20px;
	}

	.tt-account-card-grid,
	.tt-account-stats-grid,
	.tt-account-meta-grid,
	.tt-account-address-grid,
	.tt-account-wishlist-grid,
	.tt-account-form-grid,
	.tt-account-order-main {
		grid-template-columns: 1fr;
	}

	.tt-account-section-head,
	.tt-account-address-card header,
	.tt-auth-account-row {
		display: grid;
	}

	.tt-account-nav {
		padding: 12px;
	}

	.tt-account-nav a {
		white-space: nowrap;
	}
}

/* Final shared header and product-card contract. Keep this last in the cascade. */
.site-header .header-actions {
	align-items: center;
	display: flex;
	gap: 14px;
	justify-content: flex-end;
}

.site-header .header-icon,
.site-header .header-cart {
	align-items: center;
	border-radius: 50%;
	display: inline-flex !important;
	flex: 0 0 40px;
	height: 40px;
	justify-content: center;
	min-height: 40px;
	position: relative;
	width: 40px;
}

.site-header .header-cart {
	background: #fff;
	box-shadow: 0 4px 14px rgba(24, 29, 39, 0.08);
}

.site-header .header-icon svg,
.site-header .header-cart svg {
	display: block !important;
	height: 22px;
	width: 22px;
}

.site-header .cart-count,
.site-header .wishlist-count {
	right: -2px;
	top: -3px;
}

.woocommerce ul.products {
	align-items: stretch;
}

.woocommerce ul.products li.product,
.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.featured-products.home-best-sellers .woocommerce ul.products li.product,
.single-product .tiny-similar-products ul.products li.product {
	background: transparent;
	height: auto !important;
	min-width: 0;
	overflow: visible !important;
}

.woocommerce ul.products li.product .product-card-shell,
.post-type-archive-product ul.products li.product .product-card-shell,
.tax-product_cat ul.products li.product .product-card-shell,
.featured-products.home-best-sellers .woocommerce ul.products li.product .product-card-shell,
.single-product .tiny-similar-products ul.products li.product .product-card-shell {
	background: transparent;
	display: flex;
	flex-direction: column;
	height: 100% !important;
	min-width: 0;
	overflow: visible !important;
	width: 100% !important;
}

.woocommerce ul.products li.product .product-image-wrap,
.post-type-archive-product ul.products li.product .product-image-wrap,
.tax-product_cat ul.products li.product .product-image-wrap,
.featured-products.home-best-sellers .woocommerce ul.products li.product .product-image-wrap,
.single-product .tiny-similar-products ul.products li.product .product-image-wrap {
	aspect-ratio: 1 / 1;
	height: auto !important;
	margin: 0;
	overflow: hidden;
	width: 100% !important;
}

.woocommerce ul.products li.product .product-card-info,
.post-type-archive-product ul.products li.product .product-card-info,
.tax-product_cat ul.products li.product .product-card-info,
.featured-products.home-best-sellers .woocommerce ul.products li.product .product-card-info,
.single-product .tiny-similar-products ul.products li.product .product-card-info {
	display: block !important;
	min-width: 0;
	padding: 14px 0 4px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.featured-products.home-best-sellers .woocommerce ul.products li.product .woocommerce-loop-product__title,
.single-product .tiny-similar-products ul.products li.product .woocommerce-loop-product__title {
	display: block !important;
	font-size: 15px;
	height: auto !important;
	line-height: 1.3;
	margin: 0 0 8px;
	max-width: 100% !important;
	min-height: 2.6em;
	overflow: visible !important;
	overflow-wrap: anywhere;
	text-overflow: clip;
	white-space: normal !important;
	width: 100% !important;
}

.woocommerce ul.products li.product .price,
.post-type-archive-product ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.featured-products.home-best-sellers .woocommerce ul.products li.product .price,
.single-product .tiny-similar-products ul.products li.product .price {
	align-items: baseline;
	color: #181d27;
	display: flex !important;
	flex-wrap: wrap !important;
	font-size: 18px;
	font-weight: 500;
	gap: 5px 8px;
	height: auto !important;
	line-height: 1.4;
	margin: 0;
	min-height: 25px;
	overflow: visible !important;
	visibility: visible !important;
	white-space: normal;
	width: 100% !important;
}

.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price .tiny-discount {
	display: inline !important;
	font-size: inherit;
	line-height: inherit;
	margin: 0 !important;
	visibility: visible !important;
}

.woocommerce ul.products li.product .price del {
	color: #a4a7ae;
	font-weight: 400;
	opacity: 1;
}

.woocommerce ul.products li.product .price ins {
	color: #181d27;
	font-weight: 500;
	text-decoration: none;
}

.woocommerce ul.products li.product .price .tiny-discount {
	color: #7479c8 !important;
	font-weight: 500;
}

.woocommerce ul.products li.product .product-heart {
	background: #ffffff !important;
	border: 0;
	box-shadow: none !important;
}

.woocommerce ul.products li.product .product-heart svg {
	display: block;
}

.woocommerce ul.products li.product .product-card-actions {
	display: grid;
}

@media (max-width: 767px) {
	.site-header .header-actions {
		gap: 4px;
	}

	.site-header .header-icon,
	.site-header .header-cart {
		flex-basis: 34px;
		height: 34px;
		min-height: 34px;
		width: 34px;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 17px;
	}

	.woocommerce ul.products li.product .price {
		font-size: 15px;
	}
}

@media (max-width: 560px) {
	.site-header .header-inner {
		grid-template-columns: 44px minmax(0, 1fr) 112px !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	.site-header .site-branding {
		justify-self: center;
		min-width: 0;
	}

	.site-header .site-branding img,
	.site-header .site-logo-text img {
		height: auto !important;
		max-height: 44px !important;
		max-width: 170px !important;
	}

	.site-header .header-actions {
		gap: 4px;
		width: 112px;
	}
}

/* Final dynamic hero viewport contract. */
.home .hero-slider,
.home .tiny-hero,
.home .hero-slider__track,
.home .hero-slide,
.home .tiny-hero__slide {
	height: min(847px, calc(100svh - var(--tt-header-height, 148px))) !important;
	min-height: 0 !important;
	max-height: 847px;
	width: 100%;
}

.home .hero-slider,
.home .tiny-hero,
.home .hero-slide,
.home .tiny-hero__slide {
	overflow: hidden !important;
}

.home .hero-slide,
.home .tiny-hero__slide {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.home .hero-slide__video {
	display: block;
	height: 100% !important;
	inset: 0;
	object-fit: cover;
	object-position: center;
	position: absolute;
	width: 100% !important;
}

.home .hero-grid,
.home .tiny-hero__content {
	left: clamp(32px, 11.66vw, 224px) !important;
	max-width: min(729px, calc(100% - 64px));
	top: 50% !important;
	transform: translateY(-50%);
}

.home .hero-slide--text-center .tiny-hero__content {
	left: 50% !important;
	transform: translate(-50%, -50%);
}

.home .hero-slide--text-right .tiny-hero__content {
	left: auto !important;
	right: clamp(32px, 11.66vw, 224px) !important;
}

@media (max-width: 767px) {
	.home .hero-slider,
	.home .tiny-hero,
	.home .hero-slider__track,
	.home .hero-slide,
	.home .tiny-hero__slide {
		height: min(720px, calc(100svh - var(--tt-header-height, 100px))) !important;
	}

	.home .hero-slide,
	.home .tiny-hero__slide {
		background-image: var(--tt-hero-mobile, var(--tt-hero-desktop)) !important;
		background-position: 68% center;
	}

	.home .hero-grid,
	.home .tiny-hero__content,
	.home .hero-slide--text-center .tiny-hero__content,
	.home .hero-slide--text-right .tiny-hero__content {
		left: 20px !important;
		max-width: calc(100% - 40px);
		right: auto !important;
		text-align: left;
		transform: translateY(-50%);
		width: calc(100% - 40px);
	}
}

/* Final PDP Figma lock - must remain at end of file. */
.single-product .site-main.tiny-product-main > .container {
	max-width: 1802px !important;
	width: calc(100% - 120px) !important;
}

.single-product .tiny-product-layout {
	align-items: start !important;
	display: grid !important;
	gap: 64px !important;
	grid-template-columns: 936px 754px !important;
	justify-content: start !important;
}

.single-product .tiny-product-gallery {
	display: grid !important;
	gap: 24px !important;
	grid-template-columns: 128px 784px !important;
	width: 936px !important;
}

.single-product .tiny-product-thumbs {
	display: grid !important;
	gap: 24px !important;
	grid-auto-rows: 128px !important;
	order: initial !important;
	overflow: visible !important;
}

.single-product .tiny-thumb {
	background: #d9d9d9 !important;
	height: 128px !important;
	width: 128px !important;
}

.single-product .tiny-product-image {
	background: #d9d9d9 !important;
	height: 704px !important;
	min-height: 704px !important;
	width: 784px !important;
}

.single-product .tiny-product-summary,
.single-product .tiny-cart-form,
.single-product .option-row,
.single-product .tiny-product-summary hr,
.single-product .size-options,
.single-product .tiny-cart-form .button,
.single-product .tiny-variation-form .tt-variation-options,
.single-product .tiny-variation-form .tt-variation-buttons,
.single-product .tiny-variation-form .tiny-buy-now,
.single-product .tiny-variation-form .single_add_to_cart_button {
	max-width: 754px !important;
	width: 754px !important;
}

.single-product .tiny-product-summary {
	padding-top: 6px !important;
}

.single-product .tiny-cart-form .button,
.single-product .tiny-variation-form .single_add_to_cart_button,
.single-product .tiny-variation-form .tiny-buy-now {
	border-radius: 8px !important;
	height: 66px !important;
	min-height: 66px !important;
}

.single-product .tiny-product-tabs {
	margin: 178px auto 0 !important;
	max-width: 960px !important;
	width: 960px !important;
}

.single-product .tiny-tab-nav {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	width: 960px !important;
}

.single-product .tiny-review-card {
	box-shadow: none !important;
	max-width: 754px !important;
	padding: 0 !important;
	width: 754px !important;
}

.single-product .tiny-review-images {
	gap: 24px !important;
	grid-template-columns: repeat(4, 128px) !important;
}

.single-product .tiny-review-images figure {
	background: #d9d9d9 !important;
	height: 128px !important;
	width: 128px !important;
}

.single-product .tiny-similar-products {
	background: #f5f5f5 !important;
	margin: 150px calc(50% - 50vw) 0 !important;
	padding: 104px max(60px, calc((100vw - 1802px) / 2 + 60px)) 118px !important;
}

.single-product .tiny-similar-products ul.products {
	gap: 24px !important;
	grid-template-columns: repeat(4, minmax(0, 415px)) !important;
	justify-content: center !important;
	max-width: 1732px !important;
}

.single-product .tiny-similar-products ul.products li.product,
.single-product .tiny-similar-products ul.products li.product .product-card-shell {
	height: 516px !important;
	width: 415px !important;
}

.single-product .tiny-similar-products ul.products li.product .product-image-wrap {
	background: #d9d9d9 !important;
	height: 420px !important;
	width: 415px !important;
}

@media (max-width: 1835px) {
	.single-product .site-main.tiny-product-main > .container {
		max-width: calc(100% - 96px) !important;
		width: calc(100% - 96px) !important;
	}

	.single-product .tiny-product-layout {
		gap: 48px !important;
		grid-template-columns: minmax(0, 936px) minmax(420px, 754px) !important;
	}

	.single-product .tiny-product-gallery {
		grid-template-columns: 104px minmax(0, 1fr) !important;
		width: 100% !important;
	}

	.single-product .tiny-thumb {
		height: 104px !important;
		width: 104px !important;
	}

	.single-product .tiny-product-image {
		aspect-ratio: 784 / 704 !important;
		height: auto !important;
		min-height: 0 !important;
		width: 100% !important;
	}

	.single-product .tiny-product-summary,
	.single-product .tiny-cart-form,
	.single-product .option-row,
	.single-product .tiny-product-summary hr,
	.single-product .size-options,
	.single-product .tiny-cart-form .button {
		max-width: 100% !important;
		width: 100% !important;
	}

	.single-product .tiny-similar-products ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.single-product .tiny-similar-products ul.products li.product,
	.single-product .tiny-similar-products ul.products li.product .product-card-shell,
	.single-product .tiny-similar-products ul.products li.product .product-image-wrap {
		width: 100% !important;
	}

	.single-product .tiny-similar-products ul.products li.product .product-image-wrap {
		aspect-ratio: 415 / 420 !important;
		height: auto !important;
	}
}

@media (max-width: 1180px) {
	.single-product .tiny-product-layout {
		grid-template-columns: 1fr !important;
	}

	.single-product .tiny-similar-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 415px)) !important;
	}
}

@media (max-width: 820px) {
	.single-product .site-main.tiny-product-main > .container {
		max-width: calc(100% - 32px) !important;
		width: calc(100% - 32px) !important;
	}

	.single-product .tiny-product-gallery {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
	}

	.single-product .tiny-product-image {
		order: 1 !important;
		width: 100% !important;
	}

	.single-product .tiny-product-thumbs {
		display: flex !important;
		gap: 12px !important;
		order: 2 !important;
		overflow-x: auto !important;
	}

	.single-product .tiny-thumb {
		flex: 0 0 84px !important;
		height: 84px !important;
		width: 84px !important;
	}

	.single-product .tiny-product-tabs,
	.single-product .tiny-tab-nav,
	.single-product .tiny-review-card {
		max-width: 100% !important;
		width: 100% !important;
	}

	.single-product .tiny-tab-nav {
		display: flex !important;
		overflow-x: auto !important;
	}
}

@media (max-width: 560px) {
	.single-product .site-main.tiny-product-main > .container {
		max-width: calc(100% - 32px) !important;
		width: calc(100% - 32px) !important;
	}

	.single-product .tiny-product-summary,
	.single-product .tiny-cart-form,
	.single-product .option-row,
	.single-product .tiny-product-summary hr,
	.single-product .size-options,
	.single-product .tiny-cart-form .button,
	.single-product .tiny-product-tabs,
	.single-product .tiny-tab-nav,
	.single-product .tiny-review-card {
		max-width: 100% !important;
		width: 100% !important;
	}

	.single-product .size-options {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.single-product .purchase-options {
		flex-direction: column !important;
	}

	.single-product .tiny-similar-products {
		padding: 48px 16px 72px !important;
	}

	.single-product .tiny-similar-products ul.products {
		grid-template-columns: 1fr !important;
	}
}

/* Figma-aligned logged-out WooCommerce My Account login. */
body:not(.logged-in).woocommerce-account .entry-title,
body:not(.logged-in).woocommerce-account .page-title,
body:not(.logged-in).woocommerce-account .page-header,
body:not(.logged-in).woocommerce-account main .woocommerce > h1,
body:not(.logged-in).woocommerce-account .woocommerce-notices-wrapper:empty {
	display: none;
}

body:not(.logged-in).woocommerce-account .site-main,
body:not(.logged-in).woocommerce-account .content-area,
body:not(.logged-in).woocommerce-account main {
	background: #f8f7f6;
}

body:not(.logged-in).woocommerce-account .woocommerce {
	margin: 0;
	width: 100%;
}

.tt-myaccount-login-wrap {
	align-items: flex-start;
	display: flex;
	justify-content: center;
	min-height: 520px;
	padding: 131px 24px 110px;
	width: 100%;
}

.tt-myaccount-login-card {
	background: #fafafa;
	border-radius: 16px;
	box-shadow: 0 8px 30px rgba(24, 29, 39, 0.10);
	box-sizing: border-box;
	color: #181d27;
	height: 318px;
	padding: 44px 42px 34px;
	width: 541px;
}

.tt-myaccount-signup-card {
	height: auto;
	min-height: 690px;
	padding-bottom: 42px;
}

.tt-myaccount-login-head {
	align-items: center;
	display: grid;
	grid-template-columns: 40px 1fr 40px;
	height: 38px;
}

.tt-myaccount-login-back {
	align-items: center;
	background: transparent;
	border: 0;
	color: #111827;
	cursor: pointer;
	display: inline-flex;
	height: 40px;
	justify-content: center;
	padding: 0;
	width: 40px;
}

.tt-myaccount-login-back:hover {
	color: #6d79b8;
}

.tt-myaccount-login-head h1 {
	align-items: center;
	color: #111827;
	display: inline-flex;
	font-family: var(--font-primary);
	font-size: 24px;
	font-weight: 600;
	gap: 14px;
	justify-content: center;
	line-height: 1;
	margin: 0;
	text-align: center;
}

.tt-myaccount-login-head h1 svg {
	color: #111827;
	flex: 0 0 auto;
}

.tt-myaccount-login-divider {
	background: #d9d9d9;
	height: 1px;
	margin: 20px 0 34px;
	width: 100%;
}

.tt-myaccount-google {
	align-items: center;
	background: #fafafa;
	border: 1px solid #8e95c7;
	border-radius: 2px;
	color: #6d79b8;
	display: flex;
	font-family: var(--font-primary);
	font-size: 24px;
	font-weight: 500;
	gap: 14px;
	height: 68px;
	justify-content: center;
	line-height: 1;
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
	width: 100%;
}

.tt-myaccount-google:hover {
	background: #fff;
	border-color: #6d79b8;
	box-shadow: 0 8px 20px rgba(109, 121, 184, 0.14);
	color: #6d79b8;
}

.tt-myaccount-google.is-loading {
	pointer-events: none;
}

.tt-myaccount-login-or {
	align-items: center;
	color: #717680;
	display: grid;
	font-family: var(--font-primary);
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	gap: 14px;
	grid-template-columns: 1fr auto 1fr;
	margin: 29px 0 24px;
}

.tt-myaccount-login-or span {
	background: #8f8f8f;
	height: 1px;
}

.tt-myaccount-login-or em {
	font-style: normal;
}

.tt-myaccount-login-signup {
	color: #414651;
	font-family: var(--font-primary);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.2;
	margin: 0;
	text-align: center;
}

.tt-myaccount-login-signup a {
	color: #6d79b8;
	font-weight: 500;
	margin-left: 8px;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.tt-myaccount-login-signup a:hover {
	color: #5864aa;
}

.tt-myaccount-signup-form {
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin: 28px 0 0;
}

.tt-myaccount-field {
	color: #414651;
	display: flex;
	flex-direction: column;
	font-family: var(--font-primary);
	font-size: 16px;
	font-weight: 400;
	gap: 9px;
	line-height: 1;
}

.tt-myaccount-field input {
	background: #fafafa;
	border: 1px solid #d7d7d7;
	border-radius: 6px;
	box-shadow: inset 0 1px 2px rgba(24, 29, 39, 0.04);
	box-sizing: border-box;
	color: #181d27;
	font-family: var(--font-primary);
	font-size: 20px;
	font-weight: 400;
	height: 64px;
	line-height: 1;
	outline: 0;
	padding: 0 20px;
	width: 100%;
}

.tt-myaccount-field input::placeholder {
	color: #a1a1aa;
}

.tt-myaccount-field input:focus {
	border-color: #8e95c7;
	box-shadow: 0 0 0 3px rgba(109, 121, 184, 0.14);
}

.tt-myaccount-password-wrap {
	display: block;
	position: relative;
}

.tt-myaccount-password-wrap input {
	padding-right: 58px;
}

.tt-myaccount-password-toggle {
	align-items: center;
	background: transparent;
	border: 0;
	color: #7a7f89;
	cursor: pointer;
	display: flex;
	height: 44px;
	justify-content: center;
	padding: 0;
	position: absolute;
	right: 11px;
	top: 10px;
	width: 44px;
}

.tt-myaccount-password-toggle:hover {
	color: #6d79b8;
}

.tt-myaccount-continue {
	align-items: center;
	background: #6d79b8;
	border: 0;
	border-radius: 8px;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-family: var(--font-primary);
	font-size: 24px;
	font-weight: 600;
	height: 68px;
	justify-content: center;
	line-height: 1;
	margin-top: 20px;
	padding: 0 24px;
	width: 100%;
}

.tt-myaccount-continue:hover {
	background: #5864aa;
}

@media (max-width: 767px) {
	.tt-myaccount-login-wrap {
		min-height: 440px;
		padding: 96px 18px 72px;
	}

	.tt-myaccount-login-card {
		height: auto;
		max-width: 541px;
		min-height: 318px;
		padding: 34px 24px 30px;
		width: 90%;
	}

	.tt-myaccount-signup-card {
		min-height: 0;
	}

	.tt-myaccount-login-head {
		grid-template-columns: 34px 1fr 34px;
	}

	.tt-myaccount-login-head h1 {
		font-size: 21px;
		gap: 10px;
	}

	.tt-myaccount-google {
		font-size: 18px;
		height: 58px;
	}

	.tt-myaccount-login-signup {
		font-size: 17px;
	}

	.tt-myaccount-signup-form {
		gap: 18px;
	}

	.tt-myaccount-field {
		font-size: 15px;
	}

	.tt-myaccount-field input {
		font-size: 17px;
		height: 56px;
	}

	.tt-myaccount-password-toggle {
		top: 6px;
	}

	.tt-myaccount-continue {
		font-size: 20px;
		height: 58px;
	}
}

@media (max-width: 420px) {
	.tt-myaccount-login-card {
		padding-left: 18px;
		padding-right: 18px;
		width: 94%;
	}

	.tt-myaccount-login-head h1 {
		font-size: 18px;
	}

	.tt-myaccount-google {
		font-size: 16px;
		gap: 10px;
	}
}

body:not(.logged-in).woocommerce-account .page-header {
	display: none !important;
}

body:not(.logged-in).woocommerce-account .entry-content {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
}

body:not(.logged-in).woocommerce-account .content-narrow {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

/* Premium Tiny Tootle My Account dashboard */
.woocommerce-account {
	--tt-account-primary: #7278d5;
	--tt-account-primary-dark: #5f66c4;
	--tt-account-bg: #f8f6f4;
	--tt-account-card: #fff;
	--tt-account-text: #181d27;
	--tt-account-muted: #717680;
	--tt-account-border: rgba(114, 120, 213, 0.16);
	--tt-account-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.logged-in.woocommerce-account .site-main,
.logged-in.woocommerce-account main,
.woocommerce-account .page-main {
	background: var(--tt-account-bg);
}

.logged-in.woocommerce-account .woocommerce {
	align-items: start;
	display: grid;
	gap: 32px;
	grid-template-columns: 300px minmax(0, 1fr);
	margin: 0 auto;
	max-width: 1400px;
	padding: 88px 24px 128px;
	width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--tt-account-card);
	border: 1px solid var(--tt-account-border);
	border-radius: 20px;
	box-shadow: var(--tt-account-shadow);
	padding: 22px;
	position: sticky;
	top: 112px;
}

.tt-account-sidebar-profile {
	align-items: center;
	border-bottom: 1px solid rgba(113, 118, 128, 0.18);
	display: grid;
	gap: 14px;
	grid-template-columns: 58px minmax(0, 1fr);
	margin-bottom: 18px;
	padding-bottom: 20px;
}

.tt-account-sidebar-profile img {
	aspect-ratio: 1;
	border: 3px solid rgba(114, 120, 213, 0.18);
	border-radius: 999px;
	height: 58px;
	object-fit: cover;
	width: 58px;
}

.tt-account-sidebar-profile span,
.tt-account-sidebar-profile small,
.tt-account-sidebar-brand span {
	color: var(--tt-account-muted);
	display: block;
	font-size: 12px;
	font-weight: 500;
}

.tt-account-sidebar-profile strong {
	color: var(--tt-account-text);
	display: block;
	font-size: 18px;
	font-weight: 900;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tt-account-sidebar-profile small {
	font-size: 13px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	gap: 10px;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a {
	border-radius: 14px;
	color: var(--tt-account-text);
	font-size: 15px;
	font-weight: 800;
	padding: 15px 16px;
	position: relative;
	transition: background 0.22s ease, color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover {
	background: rgba(114, 120, 213, 0.1);
	color: var(--tt-account-primary);
	transform: translateX(4px);
}

.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
	background: var(--tt-account-primary);
	box-shadow: 0 14px 26px rgba(114, 120, 213, 0.28);
	color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
	color: #d53d38;
}

.tt-account-sidebar-brand {
	border-top: 1px solid rgba(113, 118, 128, 0.18);
	margin-top: 22px;
	padding-top: 20px;
}

.tt-account-sidebar-brand img {
	height: auto;
	max-width: 132px;
}

.tt-account-sidebar-brand strong {
	color: var(--tt-account-primary);
	display: block;
	font-size: 18px;
	font-weight: 900;
	text-transform: lowercase;
}

.woocommerce-account .woocommerce-MyAccount-content {
	min-width: 0;
}

.tt-premium-account,
.tt-account-dashboard {
	display: grid;
	gap: 32px;
	width: 100%;
}

.tt-account-welcome-card,
.tt-account-panel,
.tt-account-address-card,
.woocommerce-account .woocommerce-MyAccount-content > p,
.woocommerce-account .woocommerce-MyAccount-content form,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details,
.woocommerce-account .woocommerce-MyAccount-content table.my_account_orders {
	background: var(--tt-account-card);
	border: 1px solid rgba(114, 120, 213, 0.1);
	border-radius: 20px;
	box-shadow: var(--tt-account-shadow);
}

.tt-account-welcome-card {
	align-items: center;
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) auto;
	overflow: hidden;
	padding: 34px;
}

.tt-account-welcome-card::after {
	background: rgba(114, 120, 213, 0.09);
	height: 220px;
	right: -78px;
	top: -100px;
	width: 220px;
}

.tt-account-kicker {
	color: var(--tt-account-primary);
	font-size: 13px;
	font-weight: 900;
	margin-bottom: 10px;
}

.tt-account-welcome-card h2 {
	color: var(--tt-account-text);
	font-size: 42px;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.05;
}

.tt-account-welcome-card p:last-child {
	color: #535862;
	font-size: 18px;
	max-width: 720px;
}

.tt-account-member-badge {
	align-items: center;
	background: linear-gradient(135deg, rgba(114, 120, 213, 0.14), rgba(255, 255, 255, 0.92));
	border: 1px solid rgba(114, 120, 213, 0.18);
	border-radius: 18px;
	color: var(--tt-account-primary);
	display: inline-flex;
	gap: 10px;
	padding: 14px 18px;
	position: relative;
	z-index: 1;
}

.tt-account-member-badge svg {
	fill: none;
	height: 22px;
	stroke: currentColor;
	stroke-width: 1.8;
	width: 22px;
}

.tt-account-member-badge strong {
	color: var(--tt-account-text);
	font-size: 14px;
	font-weight: 900;
	white-space: nowrap;
}

.tt-account-meta-grid {
	display: grid;
	gap: 14px;
	grid-column: 1 / -1;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	position: relative;
	z-index: 1;
}

.tt-account-meta-grid span,
.tt-account-stat-card {
	background: #fafafa;
	border: 1px solid rgba(113, 118, 128, 0.12);
	border-radius: 16px;
	padding: 16px;
}

.tt-account-meta-grid small,
.tt-account-stat-card small {
	color: var(--tt-account-muted);
	display: block;
	font-size: 13px;
	font-weight: 800;
}

.tt-account-meta-grid strong {
	color: var(--tt-account-text);
	display: block;
	font-size: 18px;
	font-weight: 900;
	margin-top: 4px;
}

.tt-account-section {
	display: grid;
	gap: 18px;
}

.tt-account-section-head {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.tt-account-section-head h3 {
	color: var(--tt-account-text);
	font-size: 24px;
	font-weight: 900;
	letter-spacing: 0;
	margin: 0;
}

.tt-account-section-head a {
	color: var(--tt-account-primary);
	font-size: 14px;
	font-weight: 900;
	text-decoration: underline;
}

.tt-account-card-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tt-account-dash-card {
	border-color: var(--tt-account-border);
	border-radius: 20px;
	box-shadow: var(--tt-account-shadow);
	min-height: 172px;
	padding: 24px;
}

.tt-account-dash-card:hover {
	border-color: var(--tt-account-primary);
	box-shadow: 0 20px 44px rgba(114, 120, 213, 0.18);
	transform: translateY(-6px);
}

.tt-account-card-icon,
.tt-account-stat-card span {
	background: linear-gradient(135deg, rgba(114, 120, 213, 0.16), rgba(114, 120, 213, 0.04));
	border-radius: 18px;
	color: var(--tt-account-primary);
	height: 56px;
	width: 56px;
}

.tt-account-card-icon svg,
.tt-account-stat-card svg {
	height: 26px;
	width: 26px;
}

.tt-account-dash-card strong,
.tt-account-wishlist-card strong {
	color: var(--tt-account-text);
	font-size: 22px;
	font-weight: 900;
}

.tt-account-dash-card small {
	color: #535862;
	font-size: 15px;
	line-height: 1.45;
}

.tt-account-stats-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tt-account-stat-card {
	box-shadow: var(--tt-account-shadow);
	display: grid;
	gap: 8px;
	padding: 22px;
}

.tt-account-stat-card span {
	align-items: center;
	display: inline-flex;
	justify-content: center;
}

.tt-account-stat-number {
	color: var(--tt-account-text);
	font-size: 34px;
	font-weight: 900;
	line-height: 1;
	margin-top: 8px;
}

.tt-account-panel {
	padding: 28px;
}

.tt-account-table-wrap {
	overflow-x: auto;
}

.tt-account-table {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
}

.tt-account-table th,
.tt-account-table td {
	border-bottom: 1px solid rgba(113, 118, 128, 0.14);
	color: #414651;
	font-size: 14px;
	padding: 16px 12px;
	text-align: left;
}

.tt-account-table th {
	color: var(--tt-account-muted);
	font-weight: 900;
	text-transform: uppercase;
}

.tt-account-table-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.tt-account-table-actions a,
.tt-account-primary-mini,
.tt-account-address-card a,
.tt-account-soft-button {
	align-items: center;
	background: rgba(114, 120, 213, 0.1);
	border: 1px solid rgba(114, 120, 213, 0.18);
	border-radius: 999px;
	color: var(--tt-account-primary);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 13px;
	font-weight: 900;
	min-height: 34px;
	padding: 8px 12px;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.tt-account-table-actions a:hover,
.tt-account-primary-mini:hover,
.tt-account-address-card a:hover,
.tt-account-soft-button:hover {
	background: var(--tt-account-primary);
	color: #fff;
	transform: translateY(-1px);
}

.tt-status-badge {
	border-radius: 999px;
	display: inline-flex;
	font-size: 12px;
	font-weight: 900;
	padding: 7px 11px;
}

.tt-status-pending,
.tt-status-on-hold {
	background: rgba(46, 115, 214, 0.1);
	color: #2e73d6;
}

.tt-status-processing {
	background: rgba(233, 132, 36, 0.13);
	color: #b86012;
}

.tt-status-completed {
	background: rgba(39, 174, 96, 0.13);
	color: #1f8f4e;
}

.tt-status-cancelled,
.tt-status-failed,
.tt-status-refunded {
	background: rgba(213, 61, 56, 0.12);
	color: #c9342f;
}

.tt-account-address-grid,
.tt-account-wishlist-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tt-account-address-card {
	display: grid;
	gap: 10px;
	padding: 24px;
	position: relative;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.tt-account-address-card.is-default {
	border-color: rgba(114, 120, 213, 0.42);
	box-shadow: 0 16px 34px rgba(114, 120, 213, 0.13);
}

.tt-account-address-card:hover,
.tt-account-wishlist-card:hover {
	box-shadow: 0 20px 44px rgba(114, 120, 213, 0.15);
	transform: translateY(-4px);
}

.tt-account-address-card h4,
.tt-account-address-card strong {
	color: var(--tt-account-text);
	font-size: 18px;
	font-weight: 900;
	margin: 0;
}

.tt-account-address-card em {
	background: rgba(114, 120, 213, 0.12);
	border-radius: 999px;
	color: var(--tt-account-primary);
	font-size: 11px;
	font-style: normal;
	font-weight: 900;
	padding: 5px 10px;
	position: absolute;
	right: 18px;
	text-transform: uppercase;
	top: 18px;
}

.tt-account-address-card p,
.tt-account-address-card small {
	color: #535862;
	font-size: 14px;
	line-height: 1.55;
	margin: 0;
}

.tt-account-address-card div:last-child {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tt-account-add-address {
	align-content: center;
	justify-items: center;
	min-height: 210px;
	text-align: center;
	text-decoration: none;
}

.tt-account-add-address span {
	align-items: center;
	background: var(--tt-account-primary);
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: 28px;
	font-weight: 500;
	height: 54px;
	justify-content: center;
	width: 54px;
}

.tt-account-wishlist-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tt-account-wishlist-card {
	background: #fff;
	border: 1px solid rgba(114, 120, 213, 0.12);
	border-radius: 20px;
	box-shadow: var(--tt-account-shadow);
	display: grid;
	gap: 12px;
	overflow: hidden;
	padding: 16px;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.tt-account-wishlist-card img {
	aspect-ratio: 1;
	background: #d8d8d8;
	border-radius: 14px;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.tt-account-wishlist-card strong {
	font-size: 15px;
}

.tt-account-wishlist-card .price,
.tt-account-wishlist-card > span {
	color: var(--tt-account-text);
	font-size: 14px;
	font-weight: 900;
}

.tt-account-rating {
	color: #ffbd2e;
	font-size: 13px;
	letter-spacing: 2px;
}

.tt-account-wishlist-card div:last-child {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tt-account-empty-state {
	align-items: center;
	background: #fafafa;
	border: 1px dashed rgba(114, 120, 213, 0.28);
	border-radius: 20px;
	color: #535862;
	display: grid;
	gap: 10px;
	justify-items: center;
	padding: 42px 24px;
	text-align: center;
}

.tt-account-empty-state svg {
	color: var(--tt-account-primary);
	fill: none;
	height: 58px;
	stroke: currentColor;
	stroke-width: 1.7;
	width: 58px;
}

.tt-account-empty-state strong {
	color: var(--tt-account-text);
	font-size: 22px;
	font-weight: 900;
}

.tt-account-empty-state p {
	margin: 0;
	max-width: 420px;
}

.woocommerce-account .woocommerce-MyAccount-content input.input-text,
.woocommerce-account .woocommerce-MyAccount-content select,
.woocommerce-account .woocommerce-MyAccount-content textarea {
	border-radius: 16px;
	min-height: 50px;
}

.woocommerce-account .woocommerce-MyAccount-content .button {
	background: var(--tt-account-primary);
	border-color: var(--tt-account-primary);
	border-radius: 14px;
	min-height: 52px;
}

.woocommerce-account .woocommerce-MyAccount-content .button:hover {
	background: var(--tt-account-primary-dark);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
	border-radius: 16px;
	box-shadow: var(--tt-account-shadow);
}

.tt-account-page-loading .woocommerce-MyAccount-content {
	opacity: 0.45;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

@media (max-width: 1180px) {
	.logged-in.woocommerce-account .woocommerce {
		grid-template-columns: 260px minmax(0, 1fr);
		padding-inline: 20px;
	}

	.tt-account-card-grid,
	.tt-account-stats-grid,
	.tt-account-wishlist-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	.logged-in.woocommerce-account .woocommerce {
		display: block;
		padding: 48px 16px 96px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		margin-bottom: 24px;
		position: static;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce-account .woocommerce-MyAccount-navigation-link a {
		justify-content: center;
		text-align: center;
	}

	.tt-account-sidebar-brand {
		display: none;
	}

	.tt-account-welcome-card {
		grid-template-columns: 1fr;
		padding: 26px;
	}

	.tt-account-welcome-card h2 {
		font-size: 32px;
	}

	.tt-account-meta-grid,
	.tt-account-address-grid {
		grid-template-columns: 1fr;
	}

	.tt-account-panel {
		padding: 20px;
	}
}

@media (max-width: 560px) {
	.woocommerce-account .woocommerce-MyAccount-navigation ul,
	.tt-account-card-grid,
	.tt-account-stats-grid,
	.tt-account-wishlist-grid {
		grid-template-columns: 1fr;
	}

	.tt-account-sidebar-profile {
		grid-template-columns: 52px minmax(0, 1fr);
	}

	.tt-account-table,
	.tt-account-table tbody,
	.tt-account-table tr,
	.tt-account-table td {
		display: block;
		width: 100%;
	}

	.tt-account-table thead {
		display: none;
	}

	.tt-account-table tr {
		background: #fafafa;
		border-radius: 16px;
		margin-bottom: 12px;
		padding: 10px;
	}

	.tt-account-table td {
		border: 0;
		padding: 8px 6px;
	}

	.tt-account-table td::before {
		color: var(--tt-account-muted);
		content: attr(data-title);
		display: block;
		font-size: 12px;
		font-weight: 900;
		margin-bottom: 4px;
		text-transform: uppercase;
	}
}

/* Sustainability page - Figma aligned */
.tt-sustainability {
	background: #f7f5f3;
	color: #181d27;
	font-family: var(--font-primary);
	overflow-x: hidden;
}

.tt-sustainability * {
	min-width: 0;
}

.tt-sus-hero {
	align-items: start;
	background: linear-gradient(180deg, var(--tt-sus-hero-bg, #7886c7) 0%, var(--tt-sus-hero-bg, #7886c7) 74%, rgba(120, 134, 199, 0) 100%);
	color: #fff;
	display: flex;
	justify-content: center;
	min-height: 430px;
	padding: 86px 24px 150px;
	text-align: center;
}

.tt-sus-hero__inner {
	width: min(900px, calc(100vw - 48px));
}

.tt-sus-hero p {
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.tt-sus-hero h1 {
	color: #fff;
	font-size: clamp(46px, 4.15vw, 60px);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0 auto;
	max-width: 820px;
}

.tt-sus-card {
	background: #fafaf8;
	border-radius: 32px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.06);
	left: 50vw;
	margin: -112px 0 96px;
	padding: 80px;
	position: relative;
	transform: translateX(-50%);
	width: min(1420px, calc(100vw - 80px));
	z-index: 2;
}

.tt-sus-intro {
	margin: 0 auto 58px;
	max-width: 1080px;
	text-align: center;
}

.tt-sus-intro .tt-sus-kicker {
	color: #222;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.65;
	margin: 0 auto 28px;
	max-width: 950px;
}

.tt-sus-intro h2,
.tt-sus-center h2 {
	color: #181d27;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.3;
	margin: 0 0 22px;
}

.tt-sus-intro p,
.tt-sus-center p,
.tt-sus-list li {
	color: #222;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.55;
}

.tt-sus-row {
	align-items: center;
	display: grid;
	gap: 64px;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	margin: 0 auto;
	max-width: 1240px;
	padding: 36px 0 62px;
}

.tt-sus-row--image-right {
	padding-top: 16px;
}

.tt-sus-media {
	margin: 0;
}

.tt-sus-media img,
.tt-sus-image {
	border-radius: 22px;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.tt-sus-copy {
	padding: 0 8px;
}

.tt-sus-copy h2,
.tt-sus-cert h2 {
	color: #7886c7;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 24px;
}

.tt-sus-list {
	display: grid;
	gap: 22px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tt-sus-list li {
	margin: 0;
	padding-left: 24px;
	position: relative;
}

.tt-sus-list li::before {
	border-bottom: 6px solid transparent;
	border-left: 8px solid #7886c7;
	border-top: 6px solid transparent;
	content: "";
	left: 0;
	position: absolute;
	top: 5px;
}

.tt-sus-list strong {
	color: #111;
	font-weight: 800;
}

.tt-sus-center {
	margin: 0 auto;
	max-width: 930px;
	padding: 24px 0 38px;
	text-align: center;
}

.tt-sus-center h2 {
	color: #7886c7;
	margin-bottom: 18px;
}

.tt-sus-center p {
	margin: 0 auto;
	max-width: 900px;
}

.tt-sus-cert {
	margin: 0 auto;
	max-width: 1240px;
	padding: 28px 0 24px;
}

.tt-sus-center--cert {
	padding: 0 0 42px;
}

.tt-sus-center--cert p + p {
	margin-top: 24px;
}

.tt-sus-cert-grid {
	display: grid;
	gap: 40px 72px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tt-sus-logos {
	padding: 54px 0 34px;
}

.tt-sus-logo-band {
	align-items: center;
	border-bottom: 1px solid rgba(170, 170, 170, 0.22);
	border-top: 1px solid rgba(170, 170, 170, 0.22);
	box-shadow: 0 0 24px rgba(170, 170, 170, 0.14);
	display: flex;
	gap: 96px;
	justify-content: center;
	margin: 0 auto;
	max-width: 680px;
	padding: 38px 44px;
}

.tt-sus-cert-logo {
	display: block;
	height: auto;
	max-height: 120px;
	object-fit: contain;
	width: min(180px, 42%);
}

.tt-sus-cert-logo--combined {
	max-height: none;
	max-width: 560px;
	width: 100%;
}

.tt-sus-mini-brand {
	align-items: center;
	display: grid;
	gap: 24px;
	justify-items: center;
	margin: -28px auto 30px;
	padding: 0 24px;
	width: min(760px, 100%);
}

.tt-sus-mini-logo {
	display: inline-flex;
	justify-content: center;
	width: 118px;
}

.tt-sus-mini-logo__image {
	height: auto;
	width: 118px;
}

.tt-sus-mini-nav {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px 34px;
	justify-content: center;
}

.tt-sus-mini-nav a {
	color: #30364a;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
}

.tt-sus-mini-nav a:hover,
.tt-sus-mini-nav a.is-active {
	color: #7886c7;
}

@media (max-width: 1180px) {
	.tt-sus-hero {
		min-height: 360px;
		padding-top: 66px;
	}

	.tt-sus-card {
		padding: 56px 40px;
		width: calc(100vw - 56px);
	}

	.tt-sus-row {
		gap: 42px;
	}
}

@media (max-width: 860px) {
	.tt-sus-hero {
		min-height: 310px;
		padding: 54px 18px 122px;
	}

	.tt-sus-hero h1 {
		font-size: 42px;
	}

	.tt-sus-card {
		border-radius: 24px;
		margin-top: -86px;
		padding: 38px 24px;
		width: calc(100vw - 32px);
	}

	.tt-sus-row,
	.tt-sus-row--image-right {
		gap: 28px;
		grid-template-columns: 1fr;
		padding: 30px 0 46px;
	}

	.tt-sus-row--image-right .tt-sus-media {
		order: 1;
	}

	.tt-sus-row--image-right .tt-sus-copy {
		order: 2;
	}

	.tt-sus-copy {
		padding: 0;
	}

	.tt-sus-cert-grid {
		gap: 22px;
		grid-template-columns: 1fr;
	}

	.tt-sus-logo-band {
		gap: 32px;
		padding: 28px 24px;
	}
}

@media (max-width: 520px) {
	.tt-sus-hero {
		min-height: 260px;
		padding: 40px 16px 96px;
	}

	.tt-sus-hero h1 {
		font-size: 34px;
	}

	.tt-sus-card {
		border-radius: 18px;
		margin-bottom: 70px;
		margin-top: -68px;
		padding: 24px;
		width: calc(100vw - 24px);
	}

	.tt-sus-intro {
		margin-bottom: 36px;
	}

	.tt-sus-intro .tt-sus-kicker,
	.tt-sus-intro p,
	.tt-sus-center p,
	.tt-sus-list li {
		font-size: 13px;
	}

	.tt-sus-intro h2,
	.tt-sus-center h2,
	.tt-sus-copy h2,
	.tt-sus-cert h2 {
		font-size: 17px;
	}

	.tt-sus-list {
		gap: 16px;
	}

	.tt-sus-list li {
		padding-left: 20px;
	}

	.tt-sus-logo-band {
		flex-wrap: wrap;
		gap: 22px;
	}

	.tt-sus-cert-logo {
		width: min(150px, 44%);
	}

	.tt-sus-mini-brand {
		gap: 18px;
		margin-bottom: 26px;
	}

	.tt-sus-mini-logo,
	.tt-sus-mini-logo__image {
		width: 96px;
	}

	.tt-sus-mini-nav {
		gap: 12px 20px;
	}

	.tt-sus-mini-nav a {
		font-size: 13px;
	}
}

/* Contact page - Figma aligned */
.tt-contact-page {
	background: #f7f5f3;
	color: #171824;
	font-family: var(--font-primary);
	overflow-x: hidden;
}

.tt-contact-page * {
	min-width: 0;
}

.tt-contact-hero {
	align-items: start;
	background: linear-gradient(180deg, #7886c7 0%, #7886c7 74%, rgba(120, 134, 199, 0) 100%);
	color: #fff;
	display: flex;
	justify-content: center;
	min-height: 380px;
	padding: 78px 24px 138px;
	text-align: center;
}

.tt-contact-hero__inner {
	width: min(760px, calc(100vw - 48px));
}

.tt-contact-hero p {
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.25;
	margin: 0 0 16px;
	text-transform: uppercase;
}

.tt-contact-hero h1 {
	color: #fff;
	font-size: clamp(46px, 4vw, 58px);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.03;
	margin: 0 auto;
	max-width: 650px;
}

.tt-contact-wrap {
	background: #faf9f7;
	border-radius: 32px 32px 0 0;
	box-shadow: 0 16px 45px rgba(0, 0, 0, 0.035);
	left: 50vw;
	margin: -85px 0 0;
	max-width: none;
	padding: 95px 55px 120px;
	position: relative;
	transform: translateX(-50%);
	width: min(1420px, calc(100vw - 100px));
	z-index: 2;
}

.tt-contact-title {
	color: #111;
	font-size: 40px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.1;
	margin: 0 0 70px;
	text-align: center;
}

.tt-contact-grid {
	display: grid;
	gap: 30px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tt-contact-card {
	align-items: center;
	background: #e9ddd1;
	border-radius: 30px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 420px;
	padding: 70px 45px;
	text-align: center;
}

.tt-contact-card h3 {
	color: #111;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 25px;
}

.tt-contact-card p,
.tt-contact-copy,
.tt-contact-hours {
	color: #161616;
	font-size: 17px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.5;
	margin: 0;
	overflow-wrap: anywhere;
}

.tt-contact-copy p,
.tt-contact-hours p {
	margin: 0;
}

.tt-contact-hours {
	margin-top: 34px;
}

.tt-contact-email-row {
	margin-top: 34px !important;
}

.tt-contact-label {
	margin: 0 0 28px !important;
}

.tt-contact-main-email {
	margin: 0 !important;
}

.tt-contact-card a {
	color: #7886c7;
	font-weight: 600;
	text-decoration: none;
}

.tt-contact-card a:hover,
.tt-contact-card a:focus-visible {
	color: #6575bb;
	text-decoration: underline;
}

.tt-contact-form {
	margin: 56px auto 0;
	max-width: 820px;
}

.tt-contact-mini-brand {
	align-items: center;
	display: grid;
	gap: 25px;
	justify-items: center;
	margin: 94px auto 36px;
	padding: 0 24px;
	width: min(760px, 100%);
}

.tt-contact-mini-logo {
	display: inline-flex;
	justify-content: center;
	width: 126px;
}

.tt-contact-mini-logo img {
	height: auto;
	width: 126px;
}

.tt-contact-mini-nav {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px 38px;
	justify-content: center;
}

.tt-contact-mini-nav a {
	color: #30364a;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
}

.tt-contact-mini-nav a:hover,
.tt-contact-mini-nav a.is-active {
	color: #7886c7;
}

@media (max-width: 1100px) {
	.tt-contact-hero {
		min-height: 320px;
		padding-top: 64px;
	}

	.tt-contact-hero h1 {
		font-size: 46px;
	}

	.tt-contact-wrap {
		padding: 70px 36px 90px;
		width: calc(100vw - 56px);
	}

	.tt-contact-title {
		font-size: 34px;
		margin-bottom: 50px;
	}

	.tt-contact-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tt-contact-card:last-child {
		grid-column: 1 / -1;
		justify-self: center;
		width: min(100%, 520px);
	}
}

@media (max-width: 700px) {
	.tt-contact-hero {
		min-height: 260px;
		padding: 46px 18px 92px;
	}

	.tt-contact-hero h1 {
		font-size: 34px;
	}

	.tt-contact-wrap {
		border-radius: 20px 20px 0 0;
		margin-top: -45px;
		padding: 42px 18px 65px;
		width: calc(100vw - 24px);
	}

	.tt-contact-title {
		font-size: 29px;
		margin-bottom: 35px;
	}

	.tt-contact-grid {
		gap: 18px;
		grid-template-columns: 1fr;
	}

	.tt-contact-card,
	.tt-contact-card:last-child {
		border-radius: 22px;
		min-height: 0;
		padding: 35px 24px;
		width: 100%;
	}

	.tt-contact-card h3 {
		font-size: 18px;
		margin-bottom: 18px;
	}

	.tt-contact-card p,
	.tt-contact-copy,
	.tt-contact-hours {
		font-size: 15px;
	}

	.tt-contact-mini-brand {
		gap: 18px;
		margin: 58px auto 30px;
	}

	.tt-contact-mini-logo,
	.tt-contact-mini-logo img {
		width: 104px;
	}

	.tt-contact-mini-nav {
		gap: 12px 20px;
	}

	.tt-contact-mini-nav a {
		font-size: 13px;
	}
}

/* Figma alignment pass: shared commerce surfaces. */
.site-search input[type="search"],
.site-search input[type="search"]:hover,
.site-search input[type="search"]:focus,
.site-search input[type="search"]:focus-visible {
	appearance: none;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none !important;
	outline: 0 !important;
}

.hero-slider,
.tiny-hero,
.hero-slider__track,
.hero-slide,
.tiny-hero__slide {
	height: min(847px, calc(100svh - 148px));
	min-height: 520px;
}

.product-card-shell {
	min-width: 0;
}

.product-card-actions {
	bottom: 12px;
	display: grid;
	gap: 1px;
	grid-template-columns: 1fr 1fr;
	left: 16px;
	opacity: 0;
	position: absolute;
	right: 16px;
	transform: translateY(8px);
	transition: opacity 200ms ease, transform 200ms ease;
	z-index: 3;
}

.product-details-trigger,
.product-card-actions .quick-view-trigger {
	align-items: center;
	background: rgba(255, 255, 255, 0.94);
	border: 0;
	color: var(--tt-ink);
	display: flex;
	font-size: 14px;
	font-weight: 500;
	justify-content: center;
	min-height: 44px;
	padding: 8px;
	position: static;
	text-decoration: none;
	transform: none;
}

.product-details-trigger:hover,
.product-card-actions .quick-view-trigger:hover {
	background: #fff;
	color: var(--tt-brand);
}

.product-card-shell:hover .product-card-actions,
.product-card-shell:focus-within .product-card-actions,
li.product:hover .product-card-actions {
	opacity: 1;
	transform: translateY(0);
}

.product-card-actions .quick-view-trigger {
	opacity: 1;
}

.product-card-info {
	min-width: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	min-height: 2.6em;
	overflow-wrap: anywhere;
}

.woocommerce ul.products li.product .price {
	line-height: 1.35;
	min-height: 1.5em;
}

.tiny-discount {
	background: transparent !important;
	border: 0 !important;
	color: var(--tt-brand) !important;
	margin: 0 !important;
	padding: 0 !important;
}

.product-heart,
.tt-qv-image .product-heart,
.single-product .tiny-product-heart {
	background: #ffff !important;
	box-shadow: none !important;
}

.product-heart::before {
	content: none !important;
}

.tt-quick-view {
	max-width: 100vw;
	overflow-x: hidden;
	overscroll-behavior: contain;
}

.tt-quick-view .tt-modal-line,
.tt-qv-desc,
.tt-quick-view .option-head,
.tt-quick-view .size-options {
	max-width: 100%;
}

.tt-qv-form,
.tt-qv-summary {
	min-width: 0;
}

.tt-qv-top h3,
.tt-quick-view .tiny-price {
	overflow-wrap: anywhere;
}

.tt-quick-view .tt-modal-actions {
	max-width: calc(100vw - 80px);
}

.tt-drawer-item__image {
	align-self: start;
	aspect-ratio: 1;
}

.tt-drawer-item__image img {
	display: block;
}

.tt-drawer-item__body {
	min-width: 0;
}

.tt-drawer-item h3,
.tt-drawer-price {
	overflow-wrap: anywhere;
}

@media (hover: none), (max-width: 767px) {
	.product-card-actions {
		opacity: 1;
		transform: none;
	}

	.hero-slider,
	.tiny-hero,
	.hero-slider__track,
	.hero-slide,
	.tiny-hero__slide {
		height: min(720px, calc(100svh - 118px));
		min-height: 500px;
	}
}

@media (max-width: 560px) {
	.header-inner {
		grid-template-columns: 44px minmax(0, 1fr) auto;
		padding-inline: 12px;
	}

	.site-search {
		display: none;
	}

	.tt-quick-view {
		padding: 24px 20px 190px;
		width: 100vw;
	}

	.tt-quick-view .tt-modal-close {
		right: 20px;
		top: 24px;
	}

	.tt-modal-line {
		margin-bottom: 24px;
	}

	.tt-qv-top {
		gap: 18px;
		grid-template-columns: 132px minmax(0, 1fr);
	}

	.tt-qv-image {
		height: 132px;
		width: 132px;
	}

	.tt-quick-view .tiny-rating,
	.tt-qv-top h3 {
		font-size: 16px;
		white-space: normal;
	}

	.tt-quick-view .tiny-price,
	.tt-quick-view .tiny-price del,
	.tt-quick-view .tiny-price .tiny-discount {
		font-size: 17px;
		gap: 7px;
	}

	.tt-view-details {
		font-size: 16px;
		margin-top: 14px;
	}

	.tt-qv-desc {
		font-size: 16px;
		line-height: 1.5;
		margin: 28px 0;
		width: 100%;
	}

	.tt-quick-view .size-options {
		flex-wrap: wrap;
		gap: 10px;
		justify-content: flex-start;
		width: 100%;
	}

	.tt-quick-view .size-pill {
		flex: 1 1 86px;
	}

	.tt-quick-view .tt-modal-actions {
		background: #f5f2f1;
		bottom: 0;
		gap: 10px;
		left: 0;
		max-width: none;
		padding: 14px 20px 20px;
		right: 0;
		width: 100%;
	}

	.tt-quick-view .tt-modal-actions .button {
		font-size: 18px;
		height: 54px;
		min-height: 54px;
		padding: 12px 20px;
	}

	.tt-drawer,
	.tt-wishlist-drawer {
		padding: 24px 16px 210px;
		width: 100vw;
	}

	.tt-drawer-item,
	.tt-wishlist-drawer .tt-drawer-item {
		gap: 14px;
		grid-template-columns: 118px minmax(0, 1fr);
		padding: 12px;
	}

	.tt-drawer-item h3 {
		font-size: 18px;
	}

	.tt-drawer-meta {
		font-size: 14px;
		margin-top: 12px;
	}

	.tt-drawer-total {
		bottom: 78px;
		padding: 18px 16px 10px;
		width: 100vw;
	}

	.tt-checkout-button,
	.tt-real-wishlist-link {
		bottom: 14px;
		min-height: 56px;
		right: 16px;
		width: calc(100vw - 32px);
	}
}

/* Blog page - Figma aligned */
.tt-blog-page,
.tt-single-post-page {
	background: #f7f5f3;
	color: #111;
	font-family: var(--font-primary);
	min-height: 70vh;
	overflow-x: hidden;
}

.tt-blog-page *,
.tt-single-post-page * {
	min-width: 0;
}

.tt-blog-hero {
	align-items: start;
	background: linear-gradient(180deg, #7886c7 0%, #7886c7 74%, rgba(120, 134, 199, 0) 100%);
	color: #fff;
	display: flex;
	justify-content: center;
	min-height: 390px;
	padding: 92px 24px 144px;
	text-align: center;
}

.tt-blog-hero__inner {
	width: min(820px, calc(100vw - 48px));
}

.tt-blog-hero p {
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.25;
	margin: 0 0 16px;
	text-transform: uppercase;
}

.tt-blog-hero h1 {
	color: #fff;
	font-size: clamp(46px, 4vw, 58px);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 0 auto;
	max-width: 680px;
}

.tt-blog-wrap {
	background: #faf9f7;
	border-radius: 32px 32px 0 0;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.04);
	left: 50vw;
	margin: -105px 0 0;
	max-width: none;
	padding: 95px 55px 110px;
	position: relative;
	transform: translateX(-50%);
	width: min(1420px, calc(100vw - 100px));
	z-index: 2;
}

.tt-blog-grid {
	display: grid;
	gap: 48px 34px;
	grid-template-columns: repeat(var(--tt-blog-columns, 3), minmax(0, 1fr));
	justify-content: start;
}

.tt-blog-card {
	min-width: 0;
}

.tt-blog-card__image {
	aspect-ratio: 1.55 / 1;
	background: #e7e2df;
	border-radius: 20px;
	display: block;
	overflow: hidden;
	width: 100%;
}

.tt-blog-card__image img,
.tt-blog-card__placeholder {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 200ms ease;
	width: 100%;
}

.tt-blog-card:hover .tt-blog-card__image img,
.tt-blog-card:focus-within .tt-blog-card__image img {
	transform: scale(1.02);
}

.tt-blog-card__placeholder {
	background:
		linear-gradient(135deg, rgba(120, 134, 199, 0.16), rgba(255, 255, 255, 0.45)),
		#e7e2df;
}

.tt-blog-card__date {
	color: #7886c7;
	display: block;
	font-size: 15px;
	font-weight: 400;
	line-height: 1;
	margin-top: 22px;
}

.tt-blog-card__title {
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.18;
	margin: 14px 0 0;
	max-width: 100%;
}

.tt-blog-card__title a {
	color: #111;
	text-decoration: none;
	transition: color 200ms ease;
}

.tt-blog-card__title a:hover,
.tt-blog-card__title a:focus-visible,
.tt-blog-card:focus-within .tt-blog-card__title a {
	color: #7886c7;
}

.tt-blog-card__excerpt {
	color: #535862;
	font-size: 15px;
	line-height: 1.55;
	margin: 14px 0 0;
}

.tt-blog-pagination {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	margin-top: 72px;
}

.tt-blog-pagination .page-numbers {
	align-items: center;
	border: 1px solid rgba(120, 134, 199, 0.35);
	border-radius: 999px;
	color: #20243a;
	display: inline-flex;
	font-size: 15px;
	font-weight: 600;
	height: 42px;
	justify-content: center;
	min-width: 42px;
	padding: 0 14px;
	text-decoration: none;
}

.tt-blog-pagination .page-numbers.current,
.tt-blog-pagination a.page-numbers:hover,
.tt-blog-pagination a.page-numbers:focus-visible {
	background: #7886c7;
	color: #fff;
}

.tt-blog-empty {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 220px;
	text-align: center;
}

.tt-blog-empty p {
	color: #535862;
	font-size: 20px;
	font-weight: 500;
	margin: 0;
}

.tt-blog-mini-brand {
	align-items: center;
	display: grid;
	gap: 25px;
	justify-items: center;
	margin: 84px auto 42px;
	padding: 0 24px;
	width: min(760px, 100%);
}

.tt-blog-mini-logo {
	display: inline-flex;
	justify-content: center;
	width: 135px;
}

.tt-blog-mini-logo img {
	height: auto;
	width: 135px;
}

.tt-blog-mini-nav {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px 38px;
	justify-content: center;
}

.tt-blog-mini-nav a {
	color: #30364a;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
}

.tt-blog-mini-nav a:hover,
.tt-blog-mini-nav a.is-active {
	color: #7886c7;
}

.tt-single-post {
	margin: 0 auto;
	max-width: 900px;
	padding: 84px 24px 36px;
}

.tt-single-breadcrumb {
	align-items: center;
	color: #717680;
	display: flex;
	font-size: 14px;
	gap: 10px;
	margin-bottom: 34px;
}

.tt-single-breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.tt-single-breadcrumb a:hover {
	color: #7886c7;
}

.tt-single-hero {
	text-align: center;
}

.tt-single-label {
	color: #7886c7;
	font-size: 14px;
	font-weight: 600;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.tt-single-hero h1 {
	color: #181d27;
	font-size: clamp(38px, 4vw, 58px);
	font-weight: 600;
	line-height: 1.08;
	margin: 0 auto 18px;
}

.tt-single-hero time {
	color: #7886c7;
	display: block;
	font-size: 15px;
	margin-bottom: 36px;
}

.tt-single-featured {
	margin: 0 0 46px;
}

.tt-single-featured img {
	aspect-ratio: 1.55 / 1;
	border-radius: 24px;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.tt-single-content {
	background: #faf9f7;
	border-radius: 24px;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.04);
	color: #333;
	font-size: 18px;
	line-height: 1.75;
	padding: 52px;
}

.tt-single-content h2,
.tt-single-content h3,
.tt-single-content h4 {
	color: #181d27;
	font-weight: 600;
	margin-top: 1.7em;
}

.tt-single-content p {
	margin: 0 0 1.35em;
}

.tt-single-post-nav {
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin: 18px auto 80px;
	max-width: 900px;
	padding: 0 24px;
}

.tt-single-post-nav a {
	border: 1px solid rgba(120, 134, 199, 0.35);
	border-radius: 999px;
	color: #7886c7;
	display: inline-flex;
	font-size: 14px;
	font-weight: 600;
	min-height: 42px;
	padding: 12px 18px;
	text-decoration: none;
}

.tt-single-post-nav a:hover {
	background: #7886c7;
	color: #fff;
}

.tt-single-related {
	margin: 0 auto 110px;
	max-width: 1180px;
	padding: 0 24px;
}

.tt-single-related h2 {
	color: #181d27;
	font-size: 34px;
	font-weight: 600;
	margin: 0 0 32px;
}

.tt-single-related .tt-blog-card__title {
	font-size: 20px;
}

@media (max-width: 1100px) {
	.tt-blog-hero {
		min-height: 320px;
		padding-top: 70px;
	}

	.tt-blog-hero h1 {
		font-size: 46px;
	}

	.tt-blog-wrap {
		padding: 70px 36px 86px;
		width: calc(100vw - 56px);
	}

	.tt-blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tt-blog-card__title {
		font-size: 22px;
	}
}

@media (max-width: 760px) {
	.tt-blog-hero {
		min-height: 260px;
		padding: 50px 18px 100px;
	}

	.tt-blog-hero h1 {
		font-size: 34px;
	}

	.tt-blog-wrap {
		border-radius: 20px 20px 0 0;
		margin-top: -55px;
		padding: 32px 18px 55px;
		width: calc(100vw - 24px);
	}

	.tt-blog-grid,
	.tt-single-related .tt-blog-grid {
		grid-template-columns: 1fr;
		row-gap: 44px;
	}

	.tt-blog-card__image {
		border-radius: 16px;
	}

	.tt-blog-card__date {
		margin-top: 18px;
	}

	.tt-blog-card__title {
		font-size: 21px;
	}

	.tt-blog-mini-brand {
		gap: 18px;
		margin: 56px auto 34px;
	}

	.tt-blog-mini-logo,
	.tt-blog-mini-logo img {
		width: 104px;
	}

	.tt-blog-mini-nav {
		gap: 12px 20px;
	}

	.tt-single-post {
		padding-top: 54px;
	}

	.tt-single-content {
		border-radius: 18px;
		font-size: 16px;
		padding: 28px 20px;
	}

	.tt-single-post-nav {
		display: grid;
		margin-bottom: 58px;
	}

	.tt-single-related {
		margin-bottom: 72px;
	}
}

/* FAQ page - Figma aligned */
body.page-id .tt-faq-page {
	max-width: 100vw;
	overflow-x: hidden;
}

.tt-faq-page {
	background: #f7f5f3;
	color: #181d27;
	font-family: var(--font-primary);
}

.tt-faq-page * {
	min-width: 0;
}

.tt-faq-hero {
	background: linear-gradient(180deg, #7682c4 0%, #7682c4 74%, rgba(118, 130, 196, 0) 100%);
	color: #fff;
	min-height: 430px;
	padding: 76px 24px 154px;
	text-align: center;
}

.tt-faq-hero__inner {
	left: 50vw;
	margin: 0;
	position: relative;
	transform: translateX(-50%);
	width: min(840px, calc(100vw - 48px));
}

.tt-faq-eyebrow {
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.tt-faq-hero h1 {
	color: #fff;
	font-size: clamp(44px, 4.2vw, 64px);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.1;
	margin: 0 auto;
	max-width: 780px;
}

.tt-faq-panel {
	background: #f7f5f3;
	border-radius: 36px;
	left: 50vw;
	margin: -112px 0 96px;
	padding: 0;
	position: relative;
	transform: translateX(-50%);
	width: min(1450px, calc(100vw - 88px));
	z-index: 2;
}

.tt-faq-inner {
	background: #fff;
	border-radius: 30px;
	box-shadow: 0 26px 70px rgba(60, 68, 120, 0.08);
	margin: 0 auto;
	padding: 102px 48px 96px;
	width: 100%;
}

.tt-faq-group {
	margin: 0;
}

.tt-faq-group + .tt-faq-group {
	margin-top: 16px;
}

.tt-faq-group h2 {
	align-items: center;
	background: #c7a488;
	border-radius: 12px;
	color: #fff;
	display: flex;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 0 16px;
	min-height: 56px;
	padding: 16px 24px;
}

.tt-faq-list {
	display: grid;
	gap: 14px;
}

.tt-faq-item {
	background: #fff;
	border: 1px solid #9aa3df;
	border-radius: 12px;
	overflow: hidden;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.tt-faq-item.is-open {
	box-shadow: 0 12px 28px rgba(118, 130, 196, 0.08);
}

.tt-faq-question {
	align-items: center;
	background: transparent;
	border: 0;
	color: #7682c4;
	cursor: pointer;
	display: flex;
	font-family: inherit;
	font-size: 18px;
	font-weight: 700;
	justify-content: flex-start;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0;
	min-height: 58px;
	padding: 16px 24px;
	text-align: left;
	width: 100%;
}

.tt-faq-question:hover {
	color: #5f6cad;
}

.tt-faq-question:focus-visible {
	outline: 3px solid rgba(118, 130, 196, 0.32);
	outline-offset: -5px;
}

.tt-faq-answer {
	color: #101828;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.58;
	padding: 0 24px 24px;
}

.tt-faq-answer p {
	margin: 0;
}

.tt-faq-answer p + p {
	margin-top: 14px;
}

.tt-faq-mini-brand {
	align-items: center;
	display: grid;
	gap: 24px;
	justify-items: center;
	margin: 0 auto 30px;
	padding: 0 24px;
	width: min(760px, 100%);
}

.tt-faq-mini-logo {
	display: inline-flex;
	justify-content: center;
	width: 118px;
}

.tt-faq-mini-logo img {
	height: auto;
	width: 118px;
}

.tt-faq-mini-nav {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px 34px;
	justify-content: center;
}

.tt-faq-mini-nav a {
	color: #30364a;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
}

.tt-faq-mini-nav a:hover,
.tt-faq-mini-nav a.is-active {
	color: #7682c4;
}

@media (max-width: 1180px) {
	.tt-faq-hero {
		min-height: 390px;
		padding-top: 64px;
	}

	.tt-faq-panel {
		width: calc(100vw - 56px);
	}

	.tt-faq-inner {
		padding: 72px 34px 72px;
	}
}

@media (max-width: 760px) {
	.tt-faq-hero {
		min-height: 330px;
		padding: 48px 18px 118px;
	}

	.tt-faq-hero h1 {
		font-size: 36px;
	}

	.tt-faq-panel {
		border-radius: 24px;
		margin: -82px 0 66px;
		width: calc(100vw - 32px);
	}

	.tt-faq-inner {
		border-radius: 22px;
		padding: 46px 16px 48px;
	}

	.tt-faq-group h2 {
		border-radius: 10px;
		font-size: 16px;
		min-height: 50px;
		padding: 14px 18px;
	}

	.tt-faq-list {
		gap: 12px;
	}

	.tt-faq-question {
		font-size: 15px;
		min-height: 54px;
		padding: 14px 16px;
	}

	.tt-faq-answer {
		font-size: 14px;
		padding: 0 16px 18px;
	}

	.tt-faq-mini-brand {
		gap: 18px;
		margin-bottom: 26px;
	}

	.tt-faq-mini-logo,
	.tt-faq-mini-logo img {
		width: 96px;
	}

	.tt-faq-mini-nav {
		gap: 12px 20px;
	}

	.tt-faq-mini-nav a {
		font-size: 13px;
	}
}

@media (max-width: 420px) {
	.tt-faq-hero h1 {
		font-size: 31px;
	}

	.tt-faq-eyebrow {
		font-size: 14px;
	}

	.tt-faq-panel {
		width: calc(100vw - 24px);
	}

	.tt-faq-inner {
		padding-left: 12px;
		padding-right: 12px;
	}
}

.tt-loading-target {
	align-items: center !important;
	cursor: wait !important;
	display: inline-flex !important;
	gap: 8px !important;
	justify-content: center !important;
	pointer-events: none !important;
	position: relative !important;
}

.tt-loading-target.is-loading {
	opacity: 0.88;
}

.tt-button-spinner {
	animation: tt-spin 0.72s linear infinite;
	border: 2px solid currentColor;
	border-radius: 999px;
	border-right-color: transparent;
	display: inline-block;
	flex: 0 0 auto;
	height: 16px;
	width: 16px;
}

@keyframes tt-spin {
	to {
		transform: rotate(360deg);
	}
}

.tt-swal-popup {
	border-radius: 16px !important;
	font-family: var(--font-primary) !important;
}

.swal2-container {
	z-index: 100000 !important;
}

.swal2-confirm.tt-swal-confirm,
.tt-swal-confirm {
	background: #6d79b8 !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}

/* Checkout page - Figma matched custom WooCommerce layout */
.woocommerce-checkout .page-main,
.tt-checkout-page {
	background: #f5f2f1 !important;
}

.woocommerce-checkout .page-header {
	display: none !important;
}

.woocommerce-checkout .entry-content {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon {
	display: none !important;
}

.tt-checkout-page {
	color: #181d27;
	font-family: var(--font-primary);
	padding: 74px 0 104px;
}

.tt-checkout-container {
	max-width: 1792px;
	padding: 0;
	width: calc(100% - 128px);
}

.tt-checkout-title {
	color: #05070d;
	font-size: 24px !important;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1;
	margin: 0 0 62px !important;
}

.tt-checkout-layout {
	align-items: start;
	display: grid;
	gap: 55px;
	grid-template-columns: minmax(0, 1113px) minmax(420px, 621px);
	justify-content: space-between;
}

.tt-checkout-left {
	display: grid;
	gap: 55px;
	min-width: 0;
}

.tt-checkout-block > h2,
.tt-checkout-summary-wrap > h2 {
	color: #717680;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1;
	margin: 0 0 12px;
}

.tt-checkout-card,
.tt-checkout-summary-card {
	background: #fafafa !important;
	border: 0 !important;
	border-radius: 16px !important;
	box-shadow: 0 0 13.89px rgba(170, 170, 170, 0.25) !important;
}

.tt-checkout-card {
	display: grid;
	gap: 22px 24px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 40px;
}

.tt-address-summary-card {
	align-items: flex-start;
	display: grid;
	gap: 22px;
	grid-template-columns: 28px minmax(0, 1fr) auto;
	min-height: 197px;
	padding: 40px 40px !important;
}

.tt-address-summary-card[hidden],
.tt-address-edit-form[hidden] {
	display: none !important;
}

.tt-address-pin {
	color: #717680;
	display: inline-flex;
	margin-top: 3px;
}

.tt-address-copy {
	color: #414651;
	min-width: 0;
}

.tt-address-copy strong {
	color: #414651;
	display: block;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.25;
	margin: 0 0 8px;
}

.tt-address-copy p {
	color: #414651;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.3;
	margin: 0;
}

.tt-address-copy [data-address-contact] {
	color: #9aa0aa;
	margin-top: 10px;
}

.tt-address-copy [data-address-contact] span {
	margin: 0 6px;
}

.tt-edit-address {
	background: transparent;
	border: 0;
	color: #6d79b8;
	cursor: pointer;
	font-family: var(--font-primary);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	padding: 0;
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
}

.tt-field {
	min-width: 0;
}

.tt-field-full {
	grid-column: 1 / -1;
}

.tt-field label {
	color: #414651;
	display: block;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.25;
	margin: 0 0 8px;
}

.tt-field input,
.tt-field select,
.tt-field textarea,
.tt-coupon-row input {
	appearance: none;
	background: #fff;
	border: 1px solid #e2e3e8;
	border-radius: 4px;
	box-shadow: none;
	color: #181d27;
	font-family: var(--font-primary);
	font-size: 15px;
	font-weight: 400;
	height: 48px;
	outline: none;
	padding: 0 18px;
	width: 100%;
}

.tt-field select {
	background-image: linear-gradient(45deg, transparent 50%, #717680 50%), linear-gradient(135deg, #717680 50%, transparent 50%);
	background-position: calc(100% - 18px) 20px, calc(100% - 12px) 20px;
	background-repeat: no-repeat;
	background-size: 6px 6px, 6px 6px;
	padding-right: 38px;
}

.tt-field textarea {
	height: 132px;
	line-height: 1.45;
	padding-top: 14px;
	resize: vertical;
}

.tt-field input:focus,
.tt-field select:focus,
.tt-field textarea:focus,
.tt-coupon-row input:focus {
	border-color: #6d79b8;
	box-shadow: 0 0 0 2px rgba(109, 121, 184, 0.12);
}

.tt-field .is-invalid,
.tt-field input.is-invalid,
.tt-field select.is-invalid,
.tt-field textarea.is-invalid {
	border-color: #d92d20;
}

.tt-add-address {
	background: #6d79b8 !important;
	border: 0 !important;
	border-radius: 4px !important;
	color: #fff !important;
	font-family: var(--font-primary);
	font-size: 18px !important;
	font-weight: 600 !important;
	grid-column: 1 / -1;
	height: 58px !important;
	margin: 10px 0 0 !important;
	width: 100%;
}

.tt-add-address.is-saved {
	background: #5f6cad !important;
}

.tt-checkout-offers .tt-checkout-card {
	gap: 24px;
	min-height: 193px;
	padding: 40px;
}

.tt-coupon-row {
	align-items: center;
	display: grid;
	gap: 18px;
	grid-template-columns: 40px 1fr;
	grid-column: 1 / -1;
	margin: 0;
}

.tt-coupon-row .coupon-icon {
	align-items: center;
	background: #fff;
	border: 2px dashed #9aa0aa;
	border-radius: 50%;
	color: #717680;
	display: inline-flex;
	font-size: 18px;
	font-weight: 600;
	height: 36px;
	justify-content: center;
	width: 36px;
}

.tt-coupon-row input {
	height: 48px;
}

.tt-coupon-row .checkout-apply-coupon {
	display: none !important;
}

.tt-checkout-offers .tt-coupon-applied {
	align-items: center;
	color: #181d27;
	display: flex;
	font-size: 18px;
	font-weight: 400;
	gap: 12px;
	grid-column: 1 / -1;
	margin: 0;
}

.tt-checkout-offers .tt-coupon-applied strong {
	font-weight: 500;
}

.tt-checkout-offers .coupon-check {
	align-items: center;
	background: #39c932;
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	font-size: 17px;
	height: 32px;
	justify-content: center;
	width: 32px;
}

.tt-payment-card {
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr;
	min-height: 234px;
	padding: 40px;
}

.tt-payment-option {
	align-items: center;
	background: #fff;
	border: 1px solid #d6d9e8;
	border-radius: 4px;
	color: #414651;
	cursor: pointer;
	display: flex;
	font-size: 18px;
	font-weight: 600;
	gap: 16px;
	height: 66px;
	padding: 0 20px;
}

.tt-payment-option.is-selected {
	border-color: #6d79b8;
}

.tt-payment-option input {
	height: 1px;
	opacity: 0;
	position: absolute;
	width: 1px;
}

.tt-payment-radio {
	align-items: center;
	border: 1px solid #c5c8cf;
	border-radius: 50%;
	display: inline-flex;
	height: 18px;
	justify-content: center;
	width: 18px;
}

.tt-payment-option.is-selected .tt-payment-radio {
	border-color: #6d79b8;
}

.tt-payment-option.is-selected .tt-payment-radio::after {
	background: #6d79b8;
	border-radius: 50%;
	content: "";
	height: 10px;
	width: 10px;
}

.tt-payment-card .payment_box {
	display: none !important;
}

.tt-checkout-summary-wrap {
	position: sticky;
	top: 24px;
	width: 100%;
}

.tt-checkout-summary-card {
	min-height: 786px;
	padding: 40px;
}

.tt-summary-items {
	display: grid;
	gap: 34px;
}

.tt-summary-item {
	display: grid;
	gap: 18px;
	grid-template-columns: 154px minmax(0, 1fr);
}

.tt-summary-thumb {
	background: #cfcfcf;
	display: block;
	height: 154px;
	overflow: hidden;
	width: 154px;
}

.tt-summary-thumb img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tt-summary-content h3 {
	color: #414651;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 10px;
}

.tt-summary-content p {
	color: #717680;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.35;
	margin: 0 0 8px;
}

.tt-summary-price {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}

.tt-summary-price del {
	color: #a4a7ae;
	font-size: 16px;
	font-weight: 400;
}

.tt-summary-price strong {
	color: #181d27;
	font-size: 17px;
	font-weight: 500;
}

.tt-summary-price span {
	color: #6d79b8;
	font-size: 12px;
	font-weight: 500;
}

.tt-summary-totals {
	border-top: 1px solid #e4e5e9;
	display: grid;
	gap: 18px;
	margin-top: 34px;
	padding-top: 28px;
}

.tt-summary-totals > div {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.tt-summary-totals span {
	color: #414651;
	font-size: 15px;
	font-weight: 400;
}

.tt-summary-totals strong {
	color: #181d27;
	font-size: 15px;
	font-weight: 600;
}

.tt-summary-totals .tt-discount {
	color: #2f7f44;
}

.tt-summary-totals .tt-free-shipping {
	color: #6d79b8;
}

.tt-summary-totals .tt-to-pay {
	border-top: 1px solid #e4e5e9;
	margin-top: 6px;
	padding-top: 20px;
}

.tt-summary-totals .tt-to-pay span,
.tt-summary-totals .tt-to-pay strong {
	font-size: 18px;
	font-weight: 500;
}

.tt-place-order {
	background: #6d79b8 !important;
	border: 0 !important;
	border-radius: 4px !important;
	color: #fff !important;
	font-family: var(--font-primary);
	font-size: 18px !important;
	font-weight: 600 !important;
	height: 58px !important;
	margin-top: 30px !important;
	opacity: 1 !important;
	width: 100%;
}

.tt-place-order:disabled,
.tt-place-order[disabled] {
	background: #b7bee2 !important;
	cursor: not-allowed;
}

.woocommerce-checkout .woocommerce-NoticeGroup {
	margin: 0 auto 24px;
	max-width: 1240px;
}

.tt-checkout-summary-card .woocommerce-privacy-policy-text {
	display: none !important;
}

.tt-checkout-summary-card .woocommerce-terms-and-conditions-wrapper {
	margin: 0;
}

@media (max-width: 1100px) {
	.tt-checkout-container {
		width: calc(100% - 40px);
	}

	.tt-checkout-layout {
		gap: 36px;
		grid-template-columns: 1fr;
	}

	.tt-checkout-summary-wrap {
		position: static;
	}
}

@media (max-width: 700px) {
	.tt-checkout-page {
		padding: 40px 0 72px;
	}

	.tt-checkout-container {
		padding: 0 18px;
		width: 100%;
	}

	.tt-checkout-title {
		margin-bottom: 30px !important;
	}

	.tt-checkout-card,
	.tt-checkout-summary-card {
		padding: 24px;
	}

	.tt-checkout-card {
		grid-template-columns: 1fr;
	}

	.tt-address-summary-card {
		grid-template-columns: 24px minmax(0, 1fr);
		padding: 24px !important;
	}

	.tt-edit-address {
		grid-column: 2;
		justify-self: start;
		margin-top: 8px;
	}

	.tt-address-copy strong,
	.tt-address-copy p {
		font-size: 15px;
	}

	.tt-coupon-row {
		grid-template-columns: 34px 1fr;
	}

	.tt-coupon-row .checkout-apply-coupon {
		grid-column: 2;
		width: 100%;
	}

	.tt-summary-item {
		grid-template-columns: 96px minmax(0, 1fr);
	}

	.tt-summary-thumb {
		height: 96px;
		width: 96px;
	}
}

/* Buy Now login screen */
.tt-buy-login-main {
	align-items: flex-start;
	background: #f5f2f1;
	display: flex;
	justify-content: center;
	min-height: calc(100vh - 154px);
	padding: 131px 20px 220px;
}

.tt-buy-login-card {
	background: #fafafa;
	border-radius: 16px;
	box-shadow: 0 0 13.89px rgba(170, 170, 170, 0.25);
	box-sizing: border-box;
	color: #181d27;
	font-family: var(--font-primary);
	height: 318px;
	padding: 40px;
	width: 541px;
}

.tt-buy-login-header {
	align-items: center;
	display: flex;
	height: 36px;
	justify-content: center;
	position: relative;
}

.tt-buy-login-back {
	align-items: center;
	background: transparent;
	border: 0;
	color: #181d27;
	cursor: pointer;
	display: inline-flex;
	height: 36px;
	justify-content: center;
	left: 0;
	padding: 0;
	position: absolute;
	top: 0;
	width: 36px;
}

.tt-buy-login-header h1 {
	align-items: center;
	color: #181d27;
	display: inline-flex;
	font-family: var(--font-primary);
	font-size: 16px;
	font-weight: 600;
	gap: 10px;
	letter-spacing: 0;
	line-height: 1;
	margin: 0;
	text-align: center;
}

.tt-buy-login-header h1 svg {
	color: #181d27;
	flex: 0 0 auto;
}

.tt-buy-login-divider {
	background: #e0e0e0;
	height: 1px;
	margin: 24px 0 23px;
	width: 100%;
}

.tt-buy-login-google {
	align-items: center;
	background: transparent;
	border: 1px solid #6d79b8;
	border-radius: 8px;
	box-sizing: border-box;
	color: #6d79b8;
	display: flex;
	font-family: var(--font-primary);
	font-size: 16px;
	font-weight: 500;
	gap: 8px;
	height: 64px;
	justify-content: center;
	line-height: 1;
	margin: 0 auto;
	text-decoration: none;
	width: 450px;
}

.tt-buy-login-google:hover,
.tt-buy-login-google:focus {
	background: rgba(109, 121, 184, 0.04);
	color: #6d79b8;
	text-decoration: none;
}

.tt-buy-login-or {
	align-items: center;
	color: #636363;
	display: grid;
	font-family: var(--font-primary);
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	gap: 12px;
	grid-template-columns: 1fr auto 1fr;
	line-height: 18px;
	margin: 18px auto 14px;
	width: 461px;
}

.tt-buy-login-or span {
	background: #636363;
	height: 1px;
	opacity: 0.72;
}

.tt-buy-login-or em {
	font-style: normal;
}

.tt-buy-login-signup {
	color: #636363;
	font-family: var(--font-primary);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 20px;
	margin: 0;
	text-align: center;
}

.tt-buy-login-signup a {
	color: #6d79b8;
	font-weight: 500;
	margin-left: 8px;
	text-decoration: underline;
	text-underline-offset: 2px;
}

@media (max-width: 767px) {
	.tt-buy-login-main {
		min-height: calc(100vh - 128px);
		padding: 72px 16px 140px;
	}

	.tt-buy-login-card {
		height: auto;
		min-height: 318px;
		padding: 32px 20px;
		width: min(90vw, 541px);
	}

	.tt-buy-login-google,
	.tt-buy-login-or {
		width: 100%;
	}

	.tt-buy-login-header h1 {
		font-size: 15px;
	}
}

/* Product Details page: Figma-matched layout overrides */
.single-product {
	background: #fff;
}

.single-product .site-main.tiny-product-main {
	background: #fff;
	font-family: var(--font-primary);
	padding: 44px 0 0;
}

.tiny-product-main > .container {
	background: #fff;
	max-width: 1733px;
	padding: 0 67px;
}

.single-product .tiny-product-breadcrumb {
	color: #717680;
	font-family: var(--font-primary);
	font-size: 16px;
	font-weight: 400;
	gap: 10px;
	line-height: 25px;
	margin: 0 0 35px;
	max-width: 417px;
}

.single-product .tiny-product-breadcrumb a {
	color: #717680;
}

.single-product .tiny-product-breadcrumb span:last-child {
	color: var(--tt-brand);
}

.single-product .tiny-product-layout {
	align-items: start;
	display: grid;
	gap: 76px;
	grid-template-columns: 912px minmax(0, 754px);
}

.single-product .tiny-product-gallery {
	display: grid;
	gap: 24px;
	grid-template-columns: 128px 784px;
	width: 936px;
}

.single-product .tiny-product-thumbs {
	display: grid;
	gap: 22px;
}

.single-product .tiny-thumb {
	background: #f5f2f1;
	border: 1px solid transparent;
	height: 128px;
	overflow: hidden;
	transition: border-color 160ms ease, transform 160ms ease;
	width: 128px;
}

.single-product .tiny-thumb:hover,
.single-product .tiny-thumb.is-active {
	border-color: var(--tt-brand);
}

.single-product .tiny-thumb img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.single-product .tiny-product-image {
	background: #f5f2f1;
	height: 704px;
	min-height: 704px;
	overflow: hidden;
	position: relative;
	width: 784px;
}

.single-product .tiny-product-image > img {
	display: block;
	height: 100%;
	object-fit: contain;
	transition: opacity 180ms ease, transform 180ms ease;
	width: 100%;
}

.single-product .tiny-product-heart {
	background: #fff;
	border: 0;
	border-radius: 999px;
	height: 48px;
	right: 24px;
	top: 24px;
	width: 48px;
	z-index: 3;
}

.single-product .tiny-product-heart::before {
	font-size: 29px;
	line-height: 48px;
}

.single-product .zoom-controls {
	bottom: 24px;
	display: grid;
	height: 88px;
	left: 24px;
	position: absolute;
	width: 44px;
	z-index: 3;
}

.single-product .zoom-controls button {
	align-items: center;
	background: #fff;
	border: 1px solid #717680;
	color: #717680;
	cursor: pointer;
	display: flex;
	font-size: 20px;
	height: 44px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	width: 44px;
}

.single-product .zoom-controls button:first-child {
	border-radius: 6px 6px 0 0;
}

.single-product .zoom-controls button:last-child {
	border-radius: 0 0 6px 6px;
	border-top: 0;
}

.single-product .tiny-product-summary {
	padding-top: 0;
	width: 754px;
}

.single-product .tiny-rating {
	align-items: center;
	color: #414651;
	display: flex;
	font-size: 20px;
	font-weight: 400;
	gap: 10px;
	height: 30px;
	line-height: 30px;
	margin: 0 0 16px;
	width: 228px;
}

.single-product .tiny-rating span {
	color: #ffc633;
	font-size: 23px;
	line-height: 1;
}

.single-product .tiny-product-summary h1 {
	color: #181d27;
	font-size: 36px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 100%;
	margin: 0 0 20px;
	max-width: 400px;
}

.single-product .tiny-price,
.single-product .tiny-product-summary .price {
	align-items: baseline;
	color: #000;
	display: inline-flex;
	flex-wrap: wrap;
	font-size: 30px;
	font-weight: 500;
	gap: 14px;
	line-height: 45px;
	margin: 0;
	min-height: 45px;
}

.single-product .tiny-price del,
.single-product .tiny-product-summary del {
	color: #a4a7ae;
	font-size: 30px;
	font-weight: 400;
	margin: 0;
	opacity: 1;
}

.single-product .tiny-price ins,
.single-product .tiny-product-summary ins {
	text-decoration: none;
}

.single-product .tiny-discount,
.single-product .tiny-price .tiny-discount {
	color: var(--tt-brand);
	font-size: 30px;
	font-weight: 400;
	line-height: 45px;
}

.single-product .tiny-product-summary hr {
	border: 0;
	border-top: 1px solid #a4a7ae;
	margin: 24px 0;
	width: 755px;
}

.single-product .option-row {
	margin: 0 0 24px;
	width: 754px;
}

.single-product .option-head,
.single-product .tiny-variation-form table.variations th.label {
	align-items: center;
	color: #414651;
	display: flex;
	font-size: 20px;
	font-weight: 400;
	height: 30px;
	justify-content: space-between;
	line-height: 30px;
	margin: 0 0 20px;
	width: 100%;
}

.single-product .size-guide {
	align-items: center;
	color: #15769e;
	display: inline-flex;
	font-size: 20px;
	font-weight: 500;
	gap: 10px;
	text-decoration: none;
}

.single-product .size-guide::before {
	content: "";
	border: 2px solid currentColor;
	border-radius: 2px;
	height: 10px;
	width: 24px;
}

.single-product .size-options,
.single-product .tiny-variation-form .tt-variation-buttons {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(5, 1fr);
	width: 754px;
}

.single-product .size-pill,
.single-product .tt-variation-option {
	background: #fff;
	border: 1px solid #717680;
	border-radius: 8px;
	color: #717680;
	cursor: pointer;
	font-size: 26px;
	font-weight: 400;
	height: 66px;
	letter-spacing: 0;
	line-height: 1;
	padding: 0 16px;
	text-align: center;
	transition: border-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
	white-space: nowrap;
}

.single-product .size-pill.is-selected,
.single-product .tt-variation-option.is-selected {
	border-color: var(--tt-brand);
	box-shadow: 0 0 0 1px var(--tt-brand);
	color: var(--tt-brand);
}

.single-product .purchase-options {
	align-items: start;
	display: flex;
	gap: 36px;
	margin: 0 0 34px;
}

.single-product .purchase-options > div {
	min-width: 150px;
}

.single-product .purchase-options label,
.single-product .quantity-label {
	color: #414651;
	display: block;
	font-size: 20px;
	font-weight: 400;
	line-height: 30px;
	margin: 0 0 16px;
}

.single-product .tiny-cart-form .quantity {
	align-items: center;
	border: 1px solid #717680;
	border-radius: 8px;
	display: inline-flex;
	height: 66px;
	justify-content: center;
	margin: 0;
	padding: 0 14px;
	width: 150px;
}

.single-product .tiny-cart-form .quantity .qty {
	appearance: textfield;
	border: 0;
	color: #181d27;
	font-size: 22px;
	font-weight: 400;
	height: 64px;
	min-height: 0;
	padding: 0;
	text-align: center;
	width: 62px;
}

.single-product .tiny-cart-form .quantity .qty::-webkit-outer-spin-button,
.single-product .tiny-cart-form .quantity .qty::-webkit-inner-spin-button {
	appearance: none;
	margin: 0;
}

.single-product .colour-options {
	display: flex;
	gap: 16px;
}

.single-product .colour-swatch {
	background: var(--swatch, #ee2a42);
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	height: 66px;
	transition: box-shadow 160ms ease;
	width: 66px;
}

.single-product .colour-swatch.is-selected {
	box-shadow: 0 0 0 5px #fff, 0 0 0 8px #181d27;
}

.single-product .tiny-cart-form {
	width: 754px;
}

.single-product .tiny-cart-form .button,
.single-product .tiny-variation-form .single_add_to_cart_button {
	border-radius: 8px;
	font-size: 20px;
	font-weight: 600;
	height: 68px;
	line-height: 1;
	min-height: 68px;
	width: 754px;
}

.single-product .tiny-cart-form .tiny-buy-now {
	background: var(--tt-brand);
	border: 1px solid var(--tt-brand);
	color: #fff;
	margin: 8px 0 24px;
}

.single-product .tiny-cart-form .tiny-buy-now:hover,
.single-product .tiny-cart-form .tiny-buy-now:focus {
	background: var(--tt-brand-dark);
	border-color: var(--tt-brand-dark);
}

.single-product .tiny-cart-form .tiny-add-cart,
.single-product .tiny-variation-form .single_add_to_cart_button {
	background: #fff !important;
	border: 1px solid var(--tt-brand) !important;
	color: var(--tt-brand) !important;
	margin: 0;
}

.single-product .tiny-cart-form .tiny-add-cart:hover,
.single-product .tiny-cart-form .tiny-add-cart:focus,
.single-product .tiny-variation-form .single_add_to_cart_button:hover,
.single-product .tiny-variation-form .single_add_to_cart_button:focus {
	background: var(--tt-brand) !important;
	color: #fff !important;
}

.single-product .tiny-product-tabs {
	margin: 150px auto 0;
	max-width: 944px;
}

.single-product .tiny-tab-nav {
	border-bottom: 1px solid #e3e4e8;
	display: flex;
	gap: 0;
	justify-content: space-between;
	margin: 0 0 44px;
	width: 944px;
}

.single-product .tiny-tab-nav a {
	color: #717680;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 44px;
	padding: 0;
	text-transform: uppercase;
}

.single-product .tiny-tab-nav a.is-active {
	border-bottom: 3px solid #181d27;
	color: #181d27;
	font-weight: 500;
}

.single-product .tiny-review-list {
	display: grid;
	gap: 30px;
	justify-items: center;
}

.single-product .tiny-review-card {
	background: #fff;
	color: #414651;
	min-height: 216px;
	padding: 34px;
	width: 944px;
}

.single-product .tiny-review-card .stars {
	color: #ffc633;
	font-size: 28px;
	letter-spacing: 7px;
	line-height: 1;
}

.single-product .tiny-review-card p {
	color: #414651;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.35;
	margin: 18px 0 14px;
	max-width: 760px;
}

.single-product .tiny-review-author {
	color: #414651;
	display: block;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.3;
}

.single-product .tiny-review-date {
	display: none;
}

.single-product .tiny-review-images {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(4, 204px);
	margin-top: 44px;
}

.single-product .tiny-review-images figure {
	background: #d5d5d5;
	height: 204px;
	margin: 0;
	overflow: hidden;
	position: relative;
	width: 204px;
}

.single-product .tiny-review-images img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.single-product .tiny-review-images figure span {
	align-items: center;
	background: rgba(0, 0, 0, 0.33);
	color: #fff;
	display: flex;
	font-size: 36px;
	font-weight: 500;
	inset: 0;
	justify-content: center;
	position: absolute;
}

.single-product .tiny-comments-button {
	align-items: center;
	background: #fff;
	border: 1px solid #717680;
	border-radius: 8px;
	color: #414651;
	display: inline-flex;
	font-size: 16px;
	font-weight: 400;
	height: 48px;
	justify-content: center;
	margin: 4px auto 0;
	min-width: 315px;
	padding: 0 56px;
}

.single-product .tiny-similar-products {
	background: #f5f5f5;
	margin: 120px -67px 0;
	min-height: 775px;
	padding: 89px 93px 96px;
}

.single-product .tiny-similar-products .section-heading {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin: 0 0 44px;
}

.single-product .tiny-similar-products .section-heading h2 {
	color: #181d27;
	font-size: 40px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 50px;
	margin: 0;
}

.single-product .tiny-similar-products .section-heading a {
	align-items: center;
	border-radius: 40px;
	color: var(--tt-brand);
	display: inline-flex;
	font-size: 18px;
	font-weight: 600;
	gap: 10px;
	height: 68px;
	padding: 18px 32px;
	text-decoration: underline;
}

.single-product .tiny-similar-products .related.products {
	margin: 0;
}

.single-product .tiny-similar-products .related.products > h2 {
	display: none;
}

.single-product .tiny-similar-products ul.products {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
}

.single-product .tiny-similar-products ul.products li.product {
	margin: 0 !important;
	width: auto !important;
}

.single-product .tiny-similar-products ul.products li.product .product-card-shell,
.single-product .tiny-similar-products ul.products li.product {
	/* min-height: 516px; */
}

.single-product .tiny-similar-products ul.products li.product .product-image-wrap {
	aspect-ratio: 415 / 415;
	background: #d5d5d5;
}

@media (max-width: 1800px) {
	.tiny-product-main > .container {
		max-width: 1440px;
		padding-left: 64px;
		padding-right: 64px;
	}

	.single-product .tiny-product-layout {
		gap: 48px;
		grid-template-columns: minmax(0, 0.58fr) minmax(500px, 0.42fr);
	}

	.single-product .tiny-product-gallery {
		grid-template-columns: 96px minmax(0, 1fr);
		width: 100%;
	}

	.single-product .tiny-thumb {
		height: 96px;
		width: 96px;
	}

	.single-product .tiny-product-image {
		aspect-ratio: 784 / 704;
		height: auto;
		min-height: 0;
		width: 100%;
	}

	.single-product .tiny-product-summary,
	.single-product .tiny-cart-form,
	.single-product .option-row,
	.single-product .size-options,
	.single-product .tiny-variation-form .tt-variation-buttons,
	.single-product .tiny-cart-form .button,
	.single-product .tiny-variation-form .single_add_to_cart_button,
	.single-product .tiny-product-summary hr {
		width: 100%;
	}
}

@media (max-width: 1180px) {
	.single-product .tiny-product-layout {
		grid-template-columns: 1fr;
	}

	.single-product .tiny-product-summary {
		max-width: 754px;
	}

	.single-product .tiny-product-tabs,
	.single-product .tiny-tab-nav,
	.single-product .tiny-review-card {
		max-width: 100%;
		width: 100%;
	}

	.single-product .tiny-review-images {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		width: 100%;
	}

	.single-product .tiny-review-images figure {
		height: auto;
		aspect-ratio: 1;
		width: 100%;
	}

	.single-product .tiny-similar-products ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	.single-product .site-main.tiny-product-main {
		padding-top: 28px;
	}

	.tiny-product-main > .container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.single-product .tiny-product-breadcrumb {
		font-size: 14px;
		line-height: 22px;
		margin-bottom: 24px;
	}

	.single-product .tiny-product-gallery {
		display: flex;
		flex-direction: column;
		gap: 14px;
	}

	.single-product .tiny-product-image {
		order: 1;
	}

	.single-product .tiny-product-thumbs {
		display: flex;
		gap: 12px;
		order: 2;
		overflow-x: auto;
		padding-bottom: 4px;
	}

	.single-product .tiny-thumb {
		flex: 0 0 84px;
		height: 84px;
		width: 84px;
	}

	.single-product .tiny-product-summary h1 {
		font-size: 30px;
	}

	.single-product .tiny-price,
	.single-product .tiny-product-summary .price,
	.single-product .tiny-price del,
	.single-product .tiny-product-summary del,
	.single-product .tiny-discount,
	.single-product .tiny-price .tiny-discount {
		font-size: 24px;
		line-height: 34px;
	}

	.single-product .size-options,
	.single-product .tiny-variation-form .tt-variation-buttons {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.single-product .size-pill,
	.single-product .tt-variation-option {
		font-size: 20px;
		height: 56px;
	}

	.single-product .purchase-options {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 28px;
	}

	.single-product .tiny-cart-form .button,
	.single-product .tiny-variation-form .single_add_to_cart_button {
		height: 58px;
		min-height: 58px;
	}

	.single-product .tiny-product-tabs {
		margin-top: 72px;
	}

	.single-product .tiny-tab-nav {
		gap: 26px;
		justify-content: flex-start;
		overflow-x: auto;
	}

	.single-product .tiny-tab-nav a {
		font-size: 14px;
	}

	.single-product .tiny-review-card {
		padding: 24px;
	}

	.single-product .tiny-review-images {
		gap: 10px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.single-product .tiny-similar-products {
		margin-left: -20px;
		margin-right: -20px;
		min-height: 0;
		padding: 56px 20px 68px;
	}

	.single-product .tiny-similar-products .section-heading h2 {
		font-size: 28px;
		line-height: 36px;
	}

	.single-product .tiny-similar-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.single-product .tiny-similar-products ul.products {
		grid-template-columns: 1fr;
	}

	.single-product .tiny-similar-products .section-heading {
		align-items: flex-start;
		gap: 12px;
	}

	.single-product .tiny-similar-products .section-heading a {
		height: auto;
		padding: 6px 0;
	}
}

* {
	box-sizing: border-box;
}

html {
	background: var(--tt-bg);
}

body {
	margin: 0;
	background: var(--tt-bg);
	color: var(--tt-ink);
	font-family: var(--tt-body);
	font-size: 14px;
	line-height: 1.45;
	overflow-x: hidden;
}

img {
	display: block;
	height: auto;
	max-width: 100%;
}

a {
	color: inherit;
	text-decoration: none;
}

button,
input,
select,
textarea {
	font: inherit;
}

.container {
	margin: 0 auto;
	max-width: var(--tt-max);
	padding: 0 34px;
	width: 100%;
}

.screen-reader-text,
.skip-link {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal;
}

.skip-link:focus {
	background: var(--tt-panel);
	clip: auto;
	clip-path: none;
	height: auto;
	left: 16px;
	padding: 10px 14px;
	top: 16px;
	width: auto;
	z-index: 1000;
}

h1,
h2,
h3,
h4 {
	color: var(--tt-ink);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.12;
	margin: 0 0 14px;
}

h1 {
	font-size: clamp(30px, 4.5vw, 44px);
}

h2 {
	font-size: clamp(24px, 3vw, 32px);
}

h3 {
	font-size: 22px;
}

.button,
button.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.single_add_to_cart_button {
	align-items: center;
	background: var(--tt-brand);
	border: 1px solid var(--tt-brand);
	border-radius: 6px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	min-height: 44px;
	padding: 11px 26px;
	text-decoration: none;
	transition: background 160ms ease, border-color 160ms ease;
}

.button:hover,
button.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.single_add_to_cart_button:hover {
	background: var(--tt-brand-dark);
	border-color: var(--tt-brand-dark);
	color: #fff;
}

.button-secondary,
.woocommerce a.button.added_to_cart {
	background: transparent;
	border-color: var(--tt-brand);
	color: var(--tt-brand);
}

.top-strip {
	background: var(--tt-brand);
	color: #fff;
	font-size: 13px;
	font-weight: 900;
}

.top-strip__inner {
	align-items: center;
	justify-content: center;
	min-height: 30px;
	text-align: center;
}

.site-header {
	background: var(--tt-bg);
	box-shadow: 0 2px 12px rgba(30, 32, 49, 0.07);
	position: sticky;
	top: 0;
	z-index: 50;
}

.header-inner {
	align-items: center;
	display: grid;
	gap: 16px;
	grid-template-columns: 1fr auto 1fr;
	height: 70px;
	max-width: none;
	min-height: 70px;
	padding-left: 64px;
	padding-right: 64px;
}

.tiny-header-divider {
	border-top: 1.5px solid #6d79b8;
	height: 0;
	margin: 0 auto;
	max-width: 1792px;
	width: calc(100% - 128px);
}

.site-search {
	align-items: center;
	display: flex;
	gap: 6px;
	max-width: 200px;
}

.site-search__icon {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--tt-muted);
	cursor: pointer;
	display: inline-flex;
	flex-shrink: 0;
	height: 32px;
	justify-content: center;
	padding: 0;
	width: 32px;
}

.site-search__icon svg {
	display: block;
}

.site-search input[type="search"] {
	background: transparent;
	border: 0;
	color: var(--tt-ink);
	font-size: 14px;
	font-weight: 500;
	height: 70px;
	min-width: 0;
	padding: 0;
	width: 100%;
}

.site-search input[type="search"]::placeholder {
	color: #9a9daa;
}

.site-logo-text {
	align-items: center;
	color: var(--tt-brand);
	display: inline-flex;
	font-size: 30px;
	font-weight: 900;
	gap: 10px;
	line-height: 1;
	white-space: nowrap;
}

.site-logo-image {
	display: block;
	height: 56px !important;
	max-height: 56px !important;
	object-fit: contain;
	width: auto !important;
}

.site-header .site-branding img,
.site-header .site-logo-text img {
	display: block;
	height: 56px !important;
	max-height: 56px !important;
	width: auto !important;
}

.brand-mark {
	border: 3px solid currentColor;
	border-radius: 50% 50% 46% 46%;
	display: inline-block;
	height: 34px;
	position: relative;
	width: 40px;
}

.brand-mark::before,
.brand-mark::after {
	border: 3px solid currentColor;
	border-bottom: 0;
	border-radius: 999px 999px 0 0;
	content: "";
	height: 34px;
	position: absolute;
	top: -30px;
	width: 12px;
}

.brand-mark::before {
	left: 4px;
	transform: rotate(-8deg);
}

.brand-mark::after {
	right: 4px;
	transform: rotate(8deg);
}

.custom-logo {
	max-height: 56px;
	width: auto;
}

.header-actions {
	align-items: center;
	display: flex;
	gap: 25px;
	justify-content: flex-end;
}

.header-icon,
.header-cart {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--tt-ink);
	display: inline-flex;
	height: 28px;
	justify-content: center;
	min-height: 28px;
	position: relative;
	width: 28px;
}

.header-icon svg,
.header-cart svg {
	display: block;
	flex-shrink: 0;
}

.cart-count,
.wishlist-count {
	align-items: center;
	background: var(--tt-brand);
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: 10px;
	font-weight: 900;
	height: 16px;
	justify-content: center;
	min-width: 16px;
	padding: 0 4px;
	position: absolute;
	right: -10px;
	top: -8px;
}

.wishlist-count {
	display: none;
	right: -8px;
}

.wishlist-count:not(:empty) {
	display: inline-flex;
}

.nav-row {
	min-height: 48px;
}

.primary-nav ul,
.footer-nav ul {
	align-items: center;
	display: flex;
	gap: 34px;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.primary-nav a {
	color: var(--tt-ink);
	display: block;
	font-size: 13px;
	font-weight: 800;
	padding: 15px 0;
}

.primary-nav a:hover,
.footer-nav a:hover {
	color: var(--tt-brand);
}

.nav-toggle {
	background: transparent;
	border: 0;
	display: none;
	height: 44px;
	padding: 9px;
	width: 44px;
}

.nav-toggle span:not(.screen-reader-text) {
	background: var(--tt-ink);
	display: block;
	height: 2px;
	margin: 5px 0;
	width: 24px;
}

/* ── Hero Slider ────────────────────────────────────────────── */
.hero-slider,
.tiny-hero {
	height: 847px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.hero-slider__track {
	display: grid;
	height: 847px;
}

.hero-slide,
.tiny-hero__slide {
	background-image: var(--tt-hero-desktop);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	grid-area: 1 / 1;
	height: 847px;
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
	position: relative;
	transition: opacity 620ms ease;
	width: 100%;
}

.hero-slide.is-active {
	opacity: 1;
	pointer-events: auto;
}

.hero-slide::before,
.tiny-hero__slide::before {
	background: rgba(18, 31, 103, var(--tt-hero-overlay-opacity, 0.20));
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.hero-slide--video {
	background: #0a0a14;
}

.hero-slide__video {
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
}

@media (max-width: 767px) {
	.hero-slide,
	.tiny-hero__slide {
		background-image: var(--tt-hero-mobile, var(--tt-hero-desktop));
	}
}

.hero-section {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 847px;
	position: relative;
}

.hero-section::before {
	background: rgba(18, 31, 103, 0.20);
	content: "";
	inset: 0;
	position: absolute;
}

.hero-grid,
.tiny-hero__content {
	color: #fff;
	left: clamp(32px, 11.66vw, 224px);
	max-width: calc(100% - 64px);
	position: absolute;
	top: 255px;
	width: 729px;
	z-index: 2;
}

.hero-slide--text-center .hero-grid,
.hero-slide--text-center .tiny-hero__content {
	left: 50%;
	text-align: center;
	transform: translateX(-50%);
}

.hero-slide--text-center .hero-copy,
.hero-slide--text-center .hero-actions {
	justify-content: center;
}

.hero-slide--text-right .hero-grid,
.hero-slide--text-right .tiny-hero__content {
	left: auto;
	right: clamp(32px, 11.66vw, 224px);
	text-align: right;
}

.hero-slide--text-right .hero-copy,
.hero-slide--text-right .hero-actions {
	justify-content: flex-end;
}

.hero-copy {
	color: #fff;
	max-width: none;
	padding: 0;
}

.hero-copy h1,
.hero-copy .hero-text,
.tiny-hero__title,
.tiny-hero__text {
	color: #fff;
}

.hero-copy h1,
.tiny-hero__title {
	font-size: 64px;
	font-weight: 500;
	line-height: 1.12;
	margin: 0 0 24px;
	max-width: 729px;
}

.hero-text,
.tiny-hero__text {
	font-size: 28px;
	font-weight: 400;
	line-height: 1.35;
	margin: 0 0 32px;
	max-width: 720px;
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
}

.hero-btn,
.tiny-hero__btn {
	align-items: center;
	background: #6D79B8;
	border-color: #6D79B8;
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	font-size: 14px;
	font-weight: 600;
	height: 56px;
	justify-content: center;
	padding: 18px 32px;
	text-decoration: none;
	width: 230px;
}

.hero-btn:hover,
.tiny-hero__btn:hover {
	background: #5864aa;
	border-color: #5864aa;
	color: #fff;
}

/* Slider arrows */
.hero-arrow {
	align-items: center;
	background: rgba(255, 255, 255, 0.22);
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-size: 28px;
	font-weight: 900;
	height: 44px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: background 160ms ease;
	width: 44px;
	z-index: 3;
}

.hero-arrow:hover {
	background: rgba(255, 255, 255, 0.42);
}

.hero-arrow--prev {
	left: 24px;
}

.hero-arrow--next {
	right: 24px;
}

/* Slider dots */
.hero-dots,
.tiny-hero__dots {
	align-items: center;
	bottom: 42px;
	display: flex;
	gap: 24px;
	justify-content: center;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	z-index: 3;
}

.hero-dot,
.tiny-hero__dot {
	background: rgba(255, 255, 255, 0.65);
	border: 0;
	border-radius: 0;
	cursor: pointer;
	display: block;
	height: 4px;
	padding: 0;
	transition: background 220ms ease;
	width: 100px;
}

.hero-dot.is-active,
.hero-dot.active,
.tiny-hero__dot.active {
	background: #6D79B8;
}

/* ── Feature / Benefits Strip ───────────────────────────────── */
.tiny-benefits {
	background: linear-gradient(180deg, #6D79B8 0%, #6D79B8 85%, #515C96 100%);
	height: 448px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.tiny-benefits::before {
	background-image: url("../images/denim-texture.png");
	background-repeat: repeat;
	background-size: 600px 600px;
	content: "";
	inset: 0;
	opacity: 0.30;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.tiny-benefits__inner {
	align-items: center;
	display: flex;
	height: 196px;
	justify-content: space-between;
	margin: 55px auto 0;
	max-width: 1792px;
	position: relative;
	width: calc(100% - 128px);
	z-index: 2;
}

.tiny-benefit {
	color: #fff;
	height: 196px;
	text-align: center;
	width: 299px;
}

.tiny-benefit__icon {
	display: block;
	height: 100px;
	margin: 0 auto 20px;
	width: 100px;
}

.tiny-benefit__icon img,
.tiny-benefit__icon svg {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.tiny-benefit__title {
	color: #fff;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.2;
	margin: 0 0 10px;
}

.tiny-benefit__subtitle {
	color: #fff;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.25;
	margin: 0;
}

.tiny-benefit__icon {
	align-items: center;
	display: flex;
	height: 72px;
	justify-content: center;
	margin: 0 auto 20px;
	width: 72px;
}

.tiny-benefit__icon img {
	background: transparent;
	display: block;
	height: 58px;
	max-height: 60px;
	max-width: 60px;
	object-fit: contain;
	width: 58px;
}

.tiny-benefit__icon svg {
	height: 58px;
	max-height: 60px;
	max-width: 60px;
	width: 58px;
}

.tiny-clouds {
	bottom: -1px;
	height: 174px;
	left: 0;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
	width: 100%;
	z-index: 3;
}

.tiny-clouds .cloud-layer {
	display: block;
	height: 173px;
	left: 50%;
	mask-image: url("../images/cloud-vector.png");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: 100% 100%;
	-webkit-mask-image: url("../images/cloud-vector.png");
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	min-width: 1920px;
	position: absolute;
	transform: translateX(-50%);
	width: 100%;
}

.tiny-clouds .cloud-layer-1 {
	background: #F8F8F8;
	bottom: 41px;
}

.tiny-clouds .cloud-layer-2 {
	background: #F5F2F1;
	bottom: -2px;
	transform: translateX(-50%) translateX(-66px) scaleX(1.04);
}

.section-pad {
	padding: 70px 0;
}

.category-section {
	padding: 46px 0 80px;
}

.category-section .container {
	max-width: 1180px;
}

.center-heading {
	margin: 0 auto 40px;
	max-width: 520px;
	text-align: center;
}

.center-heading p {
	color: var(--tt-muted);
	font-size: 14px;
	line-height: 1.35;
	margin: 0;
}

.category-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	justify-content: center;
	margin: 0 auto;
	max-width: 1160px;
}

.category-card {
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 2px 24px rgba(180, 180, 200, 0.28);
	display: grid;
	grid-template-rows: 1fr 72px;
	min-height: 360px;
	overflow: hidden;
	text-align: center;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	width: 100%;
}

.category-card:hover {
	box-shadow: 0 6px 32px rgba(115, 125, 192, 0.22);
	transform: translateY(-5px);
}

.category-card__image {
	align-items: center;
	background: #f5f2f0;
	display: flex;
	justify-content: center;
	overflow: hidden;
	padding: 20px 24px;
}

.category-card__image img,
.category-card img {
	background: transparent;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.category-card__name,
.category-card span {
	align-items: center;
	background: #fff;
	border-top: 1px solid #f0f0f3;
	color: #3f4350;
	display: flex;
	font-size: 16px;
	font-weight: 500;
	justify-content: center;
	line-height: 1.2;
	padding: 0 20px;
	text-align: center;
}

.category-section.home-categories {
	background: #F5F2F1;
	/* padding: 118px 0 88px; */
}

.category-section.home-categories .home-categories__container {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.category-section.home-categories .home-categories__heading {
	margin: 0 auto 42px;
	max-width: none;
	padding: 0 34px;
}

.category-section.home-categories .home-categories__title {
	color: #141A24;
	font-family: var(--font-primary);
	font-size: 40px;
	font-weight: 600;
	line-height: 1;
	margin: 0 auto 16px;
	text-align: center;
	width: min(387px, 100%);
}

.category-section.home-categories .home-categories__subtitle {
	color: #6F7480;
	font-family: var(--font-primary);
	font-size: 20px;
	font-weight: 300;
	line-height: 1.4;
	margin: 0 auto;
	max-width: 568px;
	text-align: center;
}

.category-section.home-categories .home-categories__grid {
	display: grid;
	gap: 40px 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	justify-content: center;
	margin: 0 auto;
	max-width: 1180px;
	width: calc(100% - 96px);
}

.category-section.home-categories .home-category-card {
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 10px 26px rgba(180, 180, 200, 0.24);
	display: grid;
	grid-template-rows: minmax(0, 310px) 72px;
	height: 382px;
	min-height: 0;
	overflow: hidden;
	text-decoration: none;
	transition: box-shadow 200ms ease, transform 200ms ease;
	width: 100%;
}

.category-section.home-categories .home-category-card:hover {
	box-shadow: 0 14px 34px rgba(115, 125, 192, 0.22);
	transform: translateY(-3px);
}

.category-section.home-categories .home-category-card__image {
	align-items: center;
	background: rgba(109, 121, 184, 0.15);
	display: flex;
	height: auto;
	justify-content: center;
	overflow: hidden;
	padding: 28px 34px;
	position: relative;
	width: 100%;
}

.category-section.home-categories .home-category-card__image::after {
	background: rgba(109, 121, 184, 0.15);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.category-section.home-categories .home-category-card__image img {
	height: 100%;
	max-height: 252px;
	max-width: 100%;
	object-fit: contain;
	position: relative;
	width: 100%;
	z-index: 1;
}

.category-section.home-categories .home-category-card__title {
	align-items: center;
	background: #fff;
	border-top: 0;
	color: #414651;
	display: flex;
	font-family: var(--font-primary);
	font-size: 24px;
	font-weight: 500;
	height: 72px;
	justify-content: center;
	line-height: 1;
	padding: 0 24px;
	text-align: center;
}

@media (max-width: 1199px) {
	.category-section.home-categories .home-categories__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: 820px;
		width: calc(100% - 48px);
	}

	.category-section.home-categories .home-category-card {
		grid-template-rows: minmax(0, 300px) 70px;
		height: 370px;
		width: 100%;
	}

	.category-section.home-categories .home-category-card__image {
		width: 100%;
	}
}

@media (max-width: 575px) {
	.category-section.home-categories {
		padding-top: 72px;
		padding-bottom: 72px;
	}

	.category-section.home-categories .home-categories__heading {
		margin-bottom: 48px;
		padding: 0 20px;
	}

	.category-section.home-categories .home-categories__grid {
		gap: 18px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 0;
		width: calc(100% - 32px);
	}

	.category-section.home-categories .home-category-card {
		border-radius: 14px;
		grid-template-rows: minmax(0, 190px) 58px;
		height: 248px;
		width: 100%;
	}

	.category-section.home-categories .home-category-card__image {
		height: auto;
		padding: 18px 16px;
		width: 100%;
	}

	.category-section.home-categories .home-category-card__image img {
		max-height: 150px;
	}

	.category-section.home-categories .home-category-card__title {
		font-size: 17px;
		height: 58px;
		padding: 0 10px;
	}
}

@media (max-width: 380px) {
	.category-section.home-categories .home-categories__grid {
		grid-template-columns: 1fr;
		max-width: 320px;
	}

	.category-section.home-categories .home-category-card {
		grid-template-rows: minmax(0, 240px) 62px;
		height: 302px;
	}

	.category-section.home-categories .home-category-card__image img {
		max-height: 198px;
	}
}

.featured-products {
	padding-top: 60px;
	padding-bottom: 72px;
}

.featured-products .container {
	max-width: 1180px;
}

/* ── Homepage Best Sellers (Figma Group 16) ─────────────── */
.featured-products.home-best-sellers {
	background: #F5F2F1;
	padding: 0 0 110px;
}

.featured-products.home-best-sellers .container {
	max-width: 1856px;
	padding-left: 0;
	padding-right: 0;
}

.featured-products.home-best-sellers .best-sellers__header {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin: 0 auto 32px;
	max-width: 1856px;
	width: calc(100% - 128px);
}

.featured-products.home-best-sellers .best-sellers__title {
	color: #181D27;
	font-family: var(--font-primary);
	font-size: 48px;
	font-weight: 600;
	line-height: 1;
	margin: 0;
	width: 250px;
}

.featured-products.home-best-sellers .best-sellers__actions {
	align-items: center;
	display: flex;
	gap: 24px;
}

.featured-products.home-best-sellers .best-sellers__arrows {
	align-items: center;
	display: flex;
	gap: 25px;
	height: 50px;
	width: 125px;
}

.featured-products.home-best-sellers .best-sellers__arrow {
	align-items: center;
	background: transparent;
	border: 1px solid #D0D5DD;
	border-radius: 50%;
	color: #181D27;
	cursor: pointer;
	display: inline-flex;
	font-family: var(--font-primary);
	font-size: 32px;
	font-weight: 400;
	height: 50px;
	justify-content: center;
	line-height: 1;
	opacity: 1;
	padding: 0;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
	width: 50px;
}

.featured-products.home-best-sellers .best-sellers__arrow--next,
.featured-products.home-best-sellers .best-sellers__arrow.section-arrow--active {
	border-color: #181D27;
}

.featured-products.home-best-sellers .best-sellers__arrow.is-disabled,
.featured-products.home-best-sellers .best-sellers__arrow:disabled {
	border-color: #D0D5DD;
	color: #D0D5DD;
	cursor: default;
	opacity: 1;
}

.featured-products.home-best-sellers .best-sellers__arrow:not(:disabled):hover {
	background: #6D79B8;
	border-color: #6D79B8;
	color: #fff;
}

.featured-products.home-best-sellers .best-sellers__view-all {
	align-items: center;
	border-radius: 40px;
	color: #6D79B8;
	display: inline-flex;
	font-family: var(--font-primary);
	font-size: 18px;
	font-weight: 500;
	gap: 10px;
	height: 68px;
	justify-content: center;
	line-height: 1;
	padding: 18px 32px;
	text-decoration: none;
	transition: background 160ms ease, color 160ms ease;
	white-space: nowrap;
}

.featured-products.home-best-sellers .best-sellers__view-all:hover {
	background: #6D79B8;
	color: #fff;
}

.featured-products.home-best-sellers .woocommerce {
	margin: 0 auto;
	max-width: 1856px;
	width: calc(100% - 128px);
}

.featured-products.home-best-sellers .woocommerce ul.products {
	height: auto;
	justify-content: center;
	max-width: 1856px;
	overflow: hidden;
}

@media (max-width: 1199px) {
	.featured-products.home-best-sellers .best-sellers__header,
	.featured-products.home-best-sellers .woocommerce {
		width: calc(100% - 64px);
	}
}

@media (max-width: 575px) {
	.featured-products.home-best-sellers {
		padding-bottom: 72px;
	}

	.featured-products.home-best-sellers .best-sellers__header {
		align-items: flex-start;
		flex-direction: column;
		gap: 22px;
		width: calc(100% - 40px);
	}

	.featured-products.home-best-sellers .best-sellers__title {
		font-size: 38px;
		width: auto;
	}

	.featured-products.home-best-sellers .best-sellers__actions {
		justify-content: space-between;
		width: 100%;
	}

	.featured-products.home-best-sellers .woocommerce {
		width: calc(100% - 40px);
	}

	.featured-products.home-best-sellers .woocommerce ul.products {
		height: auto;
	}
}

.section-heading {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 26px;
}

.section-heading h2 {
	font-size: 26px;
	margin: 0;
}

.section-heading a {
	color: var(--tt-brand);
	font-size: 13px;
	font-weight: 900;
	text-decoration: underline;
}

.section-actions {
	align-items: center;
	display: flex;
	gap: 10px;
}

.section-arrow,
.testimonial-arrow {
	align-items: center;
	background: #fff;
	border: 1px solid #d7d9e1;
	border-radius: 50%;
	color: var(--tt-muted);
	display: inline-flex;
	font-size: 21px;
	font-weight: 900;
	height: 26px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	width: 26px;
}

.section-arrow.is-active,
.section-arrow.section-arrow--active,
.testimonial-arrow {
	border-color: var(--tt-brand);
	color: var(--tt-brand);
}

.section-arrow {
	cursor: pointer;
	transition: border-color 160ms ease, color 160ms ease, opacity 160ms ease;
}

.section-arrow:disabled,
.section-arrow.is-disabled {
	border-color: #e4e6ed;
	color: #b6bac7;
	cursor: default;
	opacity: 0.55;
}

/* ── Product grid (homepage best sellers + archive) ───── */
.woocommerce ul.products {
	display: grid !important;
	gap: 20px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product {
	display: block !important;
	float: none !important;
	list-style: none !important;
	list-style-type: none !important;
	margin: 0 !important;
	padding: 0 !important;
	position: relative;
	width: auto !important;
}

.woocommerce ul.products li.product[hidden] {
	display: none !important;
}

.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::marker,
.woocommerce ul.products li.product *::before,
.woocommerce ul.products li.product *::marker {
	content: none !important;
	display: none !important;
}

/* ── Product card shell ────────────────────────────────── */
.product-card-shell {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
}

/* ── Product image wrapper ─────────────────────────────── */
.product-image-wrap {
	aspect-ratio: 1 / 1;
	background: var(--tt-product, #d9d9d9);
	flex-shrink: 0;
	overflow: hidden;
	position: relative;
}

.product-image-wrap a.product-img-link {
	display: block;
	height: 100%;
	width: 100%;
}

.product-image-wrap img {
	height: 100% !important;
	margin: 0 !important;
	object-fit: contain;
	width: 100% !important;
}

/* ── Wishlist heart — inside image wrap ────────────────── */
.product-heart {
	align-items: center;
	background: #fff;
	border: 0;
	border-radius: 50%;
	color: #343747;
	cursor: pointer;
	display: flex;
	height: 36px;
	justify-content: center;
	position: absolute;
	right: 12px;
	top: 12px;
	width: 36px;
	z-index: 2;
}

.product-heart svg {
	display: block;
	flex-shrink: 0;
	transition: fill 160ms ease;
}

.product-heart.is-active {
	color: #df0000;
}

.product-heart.is-active svg {
	fill: #df0000;
}

/* ── Quick View — centered at bottom of image on hover ── */
.quick-view-trigger {
	background: rgba(255, 255, 255, 0.88);
	border: 0;
	bottom: 12px;
	color: var(--tt-ink);
	cursor: pointer;
	font-size: 14px;
	font-weight: 500;
	left: 16px;
	min-height: 42px;
	opacity: 0;
	position: absolute;
	right: 16px;
	transform: translateY(8px);
	transition: opacity 200ms ease, transform 200ms ease;
	z-index: 3;
}

.product-card-shell:hover .quick-view-trigger,
li.product:hover .quick-view-trigger {
	opacity: 1;
	transform: translateY(0);
}

/* ── Product info link ─────────────────────────────────── */
.product-card-info {
	color: inherit;
	display: block;
	padding: 10px 0 0;
	text-decoration: none;
}

.woocommerce ul.products li.product a.product-card-info:hover {
	color: var(--tt-ink);
}

/* ── Product title ─────────────────────────────────────── */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--tt-ink);
	display: block;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	margin: 0 0 5px;
	padding: 0;
}

/* ── Price line ────────────────────────────────────────── */
.woocommerce ul.products li.product .price {
	align-items: center;
	color: var(--tt-ink);
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
	font-weight: 900;
	gap: 4px;
	margin: 0;
}

.woocommerce ul.products li.product .price del {
	color: #a4a7b2;
	font-weight: 500;
	opacity: 1;
}

.woocommerce ul.products li.product .price ins {
	text-decoration: none;
}

.tiny-discount {
	color: var(--tt-brand);
	font-size: 12px;
	font-weight: 800;
}

/* ── Default WC loop "Add to Cart" button (hide on homepage grid) */
.featured-products .woocommerce ul.products li.product .button {
	display: none;
}

.product-badge,
.onsale {
	display: none;
}

.feature-band {
	align-items: center;
	background: #e3e6f6;
	display: flex;
	height: 791px;
	margin-top: 0;
	overflow: visible;
	padding: 0;
	position: relative;
}

.feature-band > .container.feature-band__inner {
	align-items: center;
	display: flex;
	gap: 36px;
	height: 791px;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1797px;
	padding: 0;
	width: 100%;
}

.feature-band__content {
	align-self: center;
	display: flex;
	flex: 0 0 1056px;
	flex-direction: column;
	font-family: var(--font-primary);
	height: 681px;
	padding: 0;
	width: 1056px;
}

.feature-band .eyebrow {
	color: #6d79b8;
	font-family: var(--font-primary);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 20px;
	margin: 0 0 37px 14px;
	text-transform: uppercase;
}

.feature-band__content h2 {
	color: #181d27;
	font-family: var(--font-primary);
	font-size: 36px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 45px;
	margin: 0 0 21px 14px;
}

.feature-band__desc,
.feature-band__inner p.feature-band__desc {
	color: #4b5565;
	font-family: var(--font-primary);
	font-size: 26px;
	font-weight: 300;
	height: 160px;
	letter-spacing: 0;
	line-height: 40px;
	margin: 0 0 37px 14px;
	max-width: 1042px;
	width: 1042px;
}

.feature-band__image-wrap {
	align-self: center;
	flex: 0 0 705px;
	height: 901px;
	overflow: hidden;
	position: relative;
	width: 705px;
}

.feature-band__image-wrap img,
.feature-band__inner img {
	border-radius: 0;
	box-shadow: none;
	display: block;
	height: 901px;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 705px;
}

.feature-list {
	color: #181d27;
	display: flex;
	flex-direction: column;
	font-family: var(--font-primary);
	font-size: 26px;
	font-weight: 400;
	gap: 37px;
	height: 214px;
	letter-spacing: 0;
	line-height: 40px;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 1056px;
}

.feature-list li {
	align-items: center;
	display: flex;
	gap: 20px;
	height: 40px;
	margin: 0;
}

.feature-list__check {
	align-items: center;
	background: #4559b8;
	clip-path: polygon(50% 0%, 62% 14%, 80% 8%, 86% 26%, 100% 34%, 89% 50%, 100% 66%, 86% 74%, 80% 92%, 62% 86%, 50% 100%, 38% 86%, 20% 92%, 14% 74%, 0% 66%, 11% 50%, 0% 34%, 14% 26%, 20% 8%, 38% 14%);
	color: #fff;
	display: flex;
	flex: 0 0 22px;
	font-size: 13px;
	font-weight: 500;
	height: 22px;
	justify-content: center;
	line-height: 1;
	margin: 0;
	width: 22px;
}

.feature-list__check::after {
	content: "\2713";
	line-height: 1;
	transform: translateY(-1px);
}

.feature-tags {
	display: grid;
	gap: 129px;
	grid-template-columns: repeat(3, 260px);
	height: 37px;
	margin: auto 0 0 14px;
	width: 1042px;
}

.feature-tags span,
.tiny-way__tab {
	border-bottom: 2px solid #cdd3f7;
	color: #181d27;
	display: flex;
	font-family: var(--font-primary);
	font-size: 15px;
	font-weight: 500;
	height: 37px;
	justify-content: center;
	letter-spacing: 0.01em;
	line-height: 18px;
	padding: 0 0 10px;
	text-align: center;
	text-transform: uppercase;
}

.tiny-way__tab {
	background: transparent;
	border-left: 0;
	border-right: 0;
	border-top: 0;
	cursor: pointer;
	min-width: 0;
	transition: border-color 180ms ease, color 180ms ease, opacity 180ms ease;
	width: 100%;
}

.feature-tags span:first-child,
.tiny-way__tab.is-active {
	border-bottom-color: #6d79b8;
	color: #4559b8;
	font-weight: 500;
}

.tiny-way__tab:focus-visible {
	outline: 2px solid #6d79b8;
	outline-offset: 3px;
}

.tiny-way__content {
	position: relative;
}

.tiny-way__panel {
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 300ms ease, transform 300ms ease;
}

.tiny-way__panel.is-active {
	opacity: 1;
	transform: translateY(0);
}

.tiny-way__button {
	align-items: center;
	background: #6D79B8;
	border-color: #6D79B8;
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	font-size: 14px;
	font-weight: 600;
	height: 48px;
	justify-content: center;
	margin: 28px 0 0 14px;
	padding: 14px 26px;
	text-decoration: none;
}

.tiny-way__button:hover {
	background: #5864aa;
	border-color: #5864aa;
	color: #fff;
}

.tiny-way__loader {
	align-items: center;
	background: rgba(255, 255, 255, 0.72);
	border-radius: 999px;
	box-shadow: 0 8px 24px rgba(69, 89, 184, 0.16);
	display: flex;
	height: 42px;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	right: 18px;
	top: 0;
	transform: scale(0.9);
	transition: opacity 160ms ease, transform 160ms ease;
	width: 42px;
	z-index: 4;
}

.tiny-way__loader::after {
	animation: ttSpin 760ms linear infinite;
	border: 3px solid rgba(109, 121, 184, 0.24);
	border-top-color: #6d79b8;
	border-radius: 50%;
	content: "";
	height: 20px;
	width: 20px;
}

@keyframes ttSpin {
	to {
		transform: rotate(360deg);
	}
}

.tiny-way.is-loading .tiny-way__loader {
	opacity: 1;
	transform: scale(1);
}

.tiny-way.is-loading .tiny-way__panel.is-active,
.tiny-way.is-loading .tiny-way__image.is-active {
	opacity: 0.45;
}

.tiny-way__image {
	opacity: 0;
	transition: opacity 300ms ease;
}

.tiny-way__image.is-active {
	opacity: 1;
}

@media (max-width: 1855px) and (min-width: 1200px) {
	.feature-band {
		height: clamp(628px, 41.2vw, 791px);
		overflow: visible;
		padding: 0;
	}

	.feature-band > .container.feature-band__inner {
		flex-direction: row;
		gap: clamp(40px, 4.95vw, 95px);
		height: clamp(628px, 41.2vw, 791px);
		max-width: calc(100% - 88px);
		padding: 0;
	}

	.feature-band__content {
		flex: 1 1 0;
		height: clamp(430px, 35.5vw, 681px);
		padding: 0;
		width: auto;
	}

	.feature-band .eyebrow {
		font-size: clamp(13px, 0.83vw, 16px);
		line-height: clamp(16px, 1.04vw, 20px);
		margin: 0 0 clamp(24px, 1.93vw, 37px) clamp(9px, 0.73vw, 14px);
	}

	.feature-band__content h2 {
		font-size: clamp(28px, 1.875vw, 36px);
		line-height: clamp(35px, 2.34vw, 45px);
		margin: 0 0 clamp(14px, 1.09vw, 21px) clamp(9px, 0.73vw, 14px);
	}

	.feature-band__desc,
	.feature-band__inner p.feature-band__desc {
		font-size: clamp(19px, 1.35vw, 26px);
		height: auto;
		line-height: clamp(30px, 2.08vw, 40px);
		margin: 0 0 clamp(24px, 1.93vw, 37px) clamp(9px, 0.73vw, 14px);
		max-width: calc(100% - clamp(9px, 0.73vw, 14px));
		width: auto;
	}

	.feature-list {
		font-size: clamp(19px, 1.35vw, 26px);
		gap: clamp(22px, 1.93vw, 37px);
		height: auto;
		line-height: clamp(30px, 2.08vw, 40px);
		width: 100%;
	}

	.feature-band__image-wrap {
		aspect-ratio: 705 / 901;
		flex: 0 0 clamp(440px, 36.72vw, 705px);
		height: auto;
		width: clamp(440px, 36.72vw, 705px);
	}

	.feature-band__image-wrap img,
	.feature-band__inner img {
		height: 100%;
		width: 100%;
	}

	.feature-tags {
		gap: clamp(48px, 6.72vw, 129px);
		grid-template-columns: repeat(3, minmax(0, 1fr));
		height: 37px;
		margin: auto 0 0 clamp(9px, 0.73vw, 14px);
		width: calc(100% - clamp(9px, 0.73vw, 14px));
	}

	.feature-tags span,
	.tiny-way__tab {
		font-size: clamp(11px, 0.78vw, 15px);
	}
}

@media (max-width: 1199px) and (min-width: 1025px) {
	.feature-band {
		height: auto;
		overflow: hidden;
		padding: 60px 0 68px;
	}

	.feature-band > .container.feature-band__inner {
		flex-direction: column;
		gap: 46px;
		height: auto;
		max-width: 980px;
		padding: 0 34px;
	}

	.feature-band__content {
		flex: 0 1 auto;
		height: auto;
		padding: 0;
		width: 100%;
	}

	.feature-band .eyebrow,
	.feature-band__content h2,
	.feature-band__desc,
	.feature-band__inner p.feature-band__desc {
		margin-left: 0;
	}

	.feature-band__desc,
	.feature-band__inner p.feature-band__desc,
	.feature-list,
	.feature-tags {
		height: auto;
		width: 100%;
	}

	.feature-band__image-wrap {
		aspect-ratio: 705 / 901;
		flex: 0 1 auto;
		height: auto;
		width: min(620px, 100%);
	}

	.feature-band__image-wrap img,
	.feature-band__inner img {
		height: 100%;
		width: 100%;
	}

	.feature-tags {
		gap: 24px;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin: 54px 0 0;
	}
}

.testimonial-section {
	background: var(--tt-bg);
	padding-bottom: 88px;
	padding-top: 88px;
}

.testimonial-inner {
	position: relative;
	text-align: center;
}

.testimonial-inner::before,
.testimonial-inner::after {
	color: #e6e7ef;
	font-size: 170px;
	font-weight: 900;
	line-height: 1;
	position: absolute;
	top: 74px;
}

.testimonial-inner::before {
	content: open-quote;
	left: 90px;
}

.testimonial-inner::after {
	content: close-quote;
	right: 90px;
}

.testimonial-card {
	background: #fff;
	border: 1px solid var(--tt-brand);
	border-radius: var(--tt-radius);
	box-shadow: 0 10px 24px rgba(55, 62, 113, 0.12);
	margin: 0 auto;
	max-width: 720px;
	padding: 24px 34px;
	position: relative;
	text-align: left;
	z-index: 1;
}

.testimonial-slider {
	align-items: center;
	display: grid;
	gap: 18px;
	grid-template-columns: 36px minmax(0, 720px) 36px;
	justify-content: center;
	margin-top: 28px;
	position: relative;
	z-index: 1;
}

.testimonial-track {
	display: grid;
	min-height: 180px;
}

.testimonial-track .testimonial-card {
	grid-area: 1 / 1;
	opacity: 0;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity 180ms ease, transform 180ms ease;
	width: 100%;
}

.testimonial-track .testimonial-card.is-active {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.testimonial-arrow {
	background: var(--tt-brand);
	color: #fff;
	height: 34px;
	width: 34px;
	z-index: 2;
}

.stars {
	color: #ffc531;
	font-size: 17px;
	letter-spacing: 2px;
}

.testimonial-card p {
	color: #3f4355;
	margin: 10px 0;
}

.testimonial-card .testimonial-author,
.testimonial-card span {
	color: var(--tt-muted);
	font-weight: 500;
}

.testimonial-quote-bg {
	color: var(--tt-brand-soft);
	font-size: 110px;
	font-weight: 900;
	left: 18px;
	line-height: 1;
	position: absolute;
	top: -18px;
	user-select: none;
}

.testimonial-author {
	display: block;
	margin-top: 12px;
}

.testimonial-author-row {
	align-items: center;
	display: flex;
	gap: 10px;
	margin-top: 14px;
}

.testimonial-avatar {
	align-items: center;
	background: var(--tt-brand);
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	flex-shrink: 0;
	font-size: 13px;
	font-weight: 900;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.cta-section,
.tiny-cta {
	background-image:
		linear-gradient(rgba(109, 121, 184, 0.30), rgba(109, 121, 184, 0.30)),
		var(--tiny-cta-bg, url("../images/banner-img.png"));
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 633px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.tiny-cta__content {
	color: #ffffff;
	left: clamp(32px, 7.6vw, 146px);
	max-width: calc(100% - 64px);
	position: absolute;
	top: 124px;
	width: 602px;
}

.tiny-cta__title {
	color: #ffffff;
	font-size: 56px;
	font-weight: 500;
	line-height: 1.15;
	margin: 0 0 28px;
}

.tiny-cta__text {
	color: #ffffff;
	font-size: 28px;
	line-height: 1.35;
	margin: 0 0 32px;
	max-width: 560px;
}

.tiny-cta__btn {
	align-items: center;
	background: #6D79B8;
	border-radius: 8px;
	color: #ffffff;
	display: inline-flex;
	font-weight: 600;
	gap: 10px;
	height: 56px;
	justify-content: center;
	padding: 18px 32px;
	text-decoration: none;
	width: 230px;
}

.tiny-cta__btn:hover {
	background: #5864aa;
	color: #ffffff;
}

@media (max-width: 991px) {
	.tiny-cta {
		background-position: 60% center;
		height: 520px;
	}

	.tiny-cta__content {
		left: 32px;
		top: 90px;
		width: 480px;
	}

	.tiny-cta__title {
		font-size: 38px;
	}

	.tiny-cta__text {
		font-size: 20px;
	}
}

@media (max-width: 575px) {
	.tiny-cta {
		background-position: 70% center;
		height: 460px;
	}

	.tiny-cta__content {
		left: 20px;
		top: 70px;
		width: calc(100% - 40px);
	}

	.tiny-cta__title {
		font-size: 30px;
	}

	.tiny-cta__text {
		font-size: 16px;
	}

	.tiny-cta__btn {
		height: 48px;
		padding: 14px 24px;
		width: 180px;
	}
}

.site-footer,
.tiny-footer {
	background-color: #6D79B8;
	color: #fff;
	min-height: 430px;
	overflow: hidden;
	padding: 78px 0 126px;
	position: relative;
}

.tiny-footer::before {
	background-image: url("../images/denim-texture.png");
	background-repeat: repeat;
	background-size: contain;
	content: "";
	inset: 0;
	opacity: 0.30;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.tiny-footer::after {
	background-image: url("../images/footer-watermark-logo.png");
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: -105px;
	content: "";
	/* left: -40px;
	opacity: 0.22; */
	pointer-events: none;
	position: absolute;
	width: min(1684px, 92vw);
	height: 376px;
	z-index: 1;
}

.footer-inner {
	display: grid;
	gap: 50px;
	grid-template-columns: 1.15fr 0.6fr 0.75fr 1.25fr;
	position: relative;
	z-index: 2;
}

.tiny-footer .footer-inner {
	position: relative;
	z-index: 2;
}

.site-logo-text--footer {
	color: #fff;
	font-size: 24px;
}

.footer-brand p,
.footer-contact p,
.footer-nav a {
	color: rgba(255, 255, 255, 0.86);
	font-size: 13px;
	font-weight: 500;
}

.footer-brand p {
	max-width: 230px;
}

.footer-social {
	display: flex;
	gap: 10px;
	margin-top: 18px;
}

.footer-social a {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 50%;
	color: #fff;
	display: flex;
	height: 38px;
	justify-content: center;
	opacity: 0.82;
	transition: opacity 160ms ease, border-color 160ms ease;
	width: 38px;
}

.footer-social a:hover {
	border-color: #fff;
	opacity: 1;
}

.footer-social a svg {
	display: block;
	flex-shrink: 0;
}

.footer-nav ul {
	align-items: flex-start;
	flex-direction: column;
	gap: 12px;
}

.footer-title {
	color: #fff;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.02em;
	margin: 0 0 10px;
	text-transform: uppercase;
}

.footer-contact p {
	margin: 0 0 22px;
}

.footer-bottom {
	color: rgba(255, 255, 255, 0.82);
	font-size: 12px;
	margin-top: 28px;
	position: relative;
	z-index: 2;
}

.footer-watermark {
	display: none;
}

/* ── About Page ─────────────────────────────────────────────── */
.about-page {
	padding: 0;
}

/* Elementor mode — no extra constraints; Elementor controls its own sections */
.about-page--elementor {
	padding: 0;
}

.about-page--elementor .elementor-section {
	margin-bottom: 0;
}

/* Tighten text-editor widget paragraphs to match the design */
.about-page--elementor .elementor-widget-text-editor p {
	margin-bottom: 0;
}

/* Lavender canvas — gradient matches Figma: rich purple top → near-white bottom */
.about-canvas {
	background: linear-gradient(
		170deg,
		var(--about-bg, #d4d0ee) 0%,
		#dbd7f2 28%,
		#e9e5f8 56%,
		#f3f1fc 80%,
		#f7f6f5 100%
	);
	padding: 100px 0 104px;
}

.about-split + .about-split {
	margin-top: 96px;
}

/* Equal columns, wide gap — matches Figma proportions */
.about-split__inner {
	align-items: center;
	display: grid;
	gap: 96px;
	grid-template-columns: 1fr 1fr;
}

.about-split--image-first .about-split__inner {
	grid-template-columns: 1fr 1fr;
}

.about-split__text {
	color: #3a3d52;
	font-size: 15px;
	line-height: 1.85;
	text-align: justify;
}

.about-split__text p {
	margin: 0 0 20px;
}

.about-split__text p:last-child {
	margin-bottom: 0;
}

.about-split__text strong {
	color: var(--tt-ink);
	font-weight: 500;
}

.about-img {
	border-radius: 20px;
	box-shadow: 0 6px 30px rgba(100, 108, 185, 0.13);
	display: block;
	height: auto;
	max-height: 440px;
	object-fit: cover;
	width: 100%;
}

.about-img--placeholder {
	aspect-ratio: 0.9;
	background: linear-gradient(135deg, #dde0f4 0%, #c5caeb 100%);
	border-radius: 20px;
	box-shadow: 0 6px 30px rgba(100, 108, 185, 0.13);
}

/* Section 2 image is portrait (taller than wide) */
.about-img--portrait {
	max-height: 500px;
}

.about-img--portrait.about-img--placeholder {
	aspect-ratio: 0.78;
}

/* Brand Statement — white section at the bottom */
.about-brand {
	background: #fff;
	padding: 88px 0 96px;
	text-align: center;
}

.about-brand__inner {
	margin: 0 auto;
	max-width: 820px;
}

/* Large, bold, brand-purple heading */
.about-brand__heading {
	color: var(--tt-brand);
	font-size: clamp(28px, 3.2vw, 44px);
	font-weight: 900;
	letter-spacing: -0.01em;
	line-height: 1.2;
	margin: 0 auto 32px;
	max-width: 660px;
}

/* Centered description paragraph */
.about-brand__desc {
	color: #50556e;
	font-size: 15px;
	line-height: 1.78;
	margin: 0 auto 20px;
	max-width: 780px;
	text-align: center;
}

/* Small shop-link line */
.about-brand__shop {
	color: var(--tt-muted);
	font-size: 14px;
	margin: 0 auto;
	text-align: center;
}

.about-brand__shop a {
	color: var(--tt-brand);
	text-decoration: underline;
}

/* ── General page/shop ──────────────────────────────────────── */
.page-main,
.shop-main {
	padding: 128px 0 112px;
}

.post-type-archive-product .shop-main,
.tax-product_cat .shop-main {
	background: #f5f2f1;
	padding: 86px 0 112px;
}

.post-type-archive-product .shop-main .container,
.tax-product_cat .shop-main .container {
	background: #f5f2f1;
	max-width: 1733px;
	padding-left: 0;
	padding-right: 0;
	width: calc(100% - 96px);
}

.content-narrow {
	max-width: 860px;
}

.page-header,
.shop-hero {
	margin-bottom: 44px;
	text-align: center;
}

.entry-content {
	background: #fff;
	border: 1px solid #eee;
	border-radius: var(--tt-radius);
	padding: 32px;
}

.shop-tabs {
	align-items: center;
	display: flex;
	gap: 0;
	justify-content: space-between;
	margin: 0 0 54px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.shop-tabs::-webkit-scrollbar {
	display: none;
}

.shop-tabs a {
	color: var(--tt-ink);
	font-size: clamp(20px, 1.55vw, 24px);
	font-weight: 800;
	padding-bottom: 4px;
	white-space: nowrap;
}

.shop-tabs a.is-active {
	color: var(--tt-brand);
	text-decoration: underline;
	text-underline-offset: 8px;
}

.post-type-archive-product .shop-tabs,
.tax-product_cat .shop-tabs {
	height: 45px;
	margin: 0 auto 33px;
	max-width: 947px;
	width: 100%;
}

.post-type-archive-product .shop-tabs a,
.tax-product_cat .shop-tabs a {
	border-bottom: 3px solid transparent;
	color: #414651;
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	padding: 0 0 7px;
	text-decoration: none;
	transition: border-color 300ms ease, color 300ms ease;
}

.post-type-archive-product .shop-tabs a:hover,
.tax-product_cat .shop-tabs a:hover,
.post-type-archive-product .shop-tabs a.is-active,
.tax-product_cat .shop-tabs a.is-active {
	color: #838ec7;
}

.post-type-archive-product .shop-tabs a.is-active,
.tax-product_cat .shop-tabs a.is-active {
	border-bottom-color: #838ec7;
}

.shop-toolbar {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 54px;
}

.post-type-archive-product .shop-toolbar,
.tax-product_cat .shop-toolbar {
	flex-wrap: nowrap;
	height: 25px;
	margin-bottom: 32px;
	width: 100%;
}

.shop-breadcrumb {
	align-items: center;
	color: var(--tt-muted);
	display: flex;
	font-size: 14px;
	font-weight: 500;
	gap: 12px;
}

.post-type-archive-product .shop-breadcrumb,
.tax-product_cat .shop-breadcrumb {
	color: #a4a7ae;
	font-size: 16px;
	font-weight: 400;
	gap: 10px;
	line-height: 25px;
}

.post-type-archive-product .shop-breadcrumb a,
.tax-product_cat .shop-breadcrumb a {
	color: #717680;
	text-decoration: none;
	transition: color 300ms ease;
}

.post-type-archive-product .shop-breadcrumb a:hover,
.tax-product_cat .shop-breadcrumb a:hover,
.post-type-archive-product .shop-breadcrumb span:last-child,
.tax-product_cat .shop-breadcrumb span:last-child {
	color: #838ec7;
}

.shop-breadcrumb span:last-child {
	color: var(--tt-brand);
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	color: #a0a3b2;
	margin: 0;
}

.woocommerce .woocommerce-ordering {
	display: block;
}

.woocommerce .woocommerce-result-count {
	font-size: 14px;
	font-weight: 500;
	order: 2;
	text-transform: capitalize;
}

.post-type-archive-product .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count {
	color: #a4a7ae;
	font-size: 16px;
	font-weight: 400;
	line-height: 25px;
	white-space: nowrap;
}

.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering {
	display: none;
}

.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.featured-products.home-best-sellers .woocommerce ul.products {
	gap: 54px 24.333px;
	grid-template-columns: repeat(4, 415px);
	justify-content: start;
	width: 100%;
}

.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.featured-products.home-best-sellers .woocommerce ul.products li.product {
	background: transparent;
	height: 416px;
	overflow: hidden;
	transition: box-shadow 300ms ease;
	width: 415px !important;
}

.post-type-archive-product ul.products li.product:hover,
.tax-product_cat ul.products li.product:hover {
	/* box-shadow: 0 12px 28px rgba(24, 29, 39, 0.08); */
}

.post-type-archive-product ul.products li.product .product-card-shell,
.tax-product_cat ul.products li.product .product-card-shell,
.featured-products.home-best-sellers .woocommerce ul.products li.product .product-card-shell {
	background: transparent;
	height: 516px;
	overflow: hidden;
	width: 415px;
}

.post-type-archive-product ul.products li.product .product-image-wrap,
.tax-product_cat ul.products li.product .product-image-wrap,
.featured-products.home-best-sellers .woocommerce ul.products li.product .product-image-wrap {
	aspect-ratio: auto;
	background: #f3f3f3;
	height: 420px;
	margin-bottom: 0;
	width: 415px;
}

.post-type-archive-product ul.products li.product .product-image-wrap img,
.tax-product_cat ul.products li.product .product-image-wrap img,
.featured-products.home-best-sellers .woocommerce ul.products li.product .product-image-wrap img {
	object-fit: cover;
	transition: transform 300ms ease;
}

.post-type-archive-product ul.products li.product:hover .product-image-wrap img,
.tax-product_cat ul.products li.product:hover .product-image-wrap img,
.featured-products.home-best-sellers .woocommerce ul.products li.product:hover .product-image-wrap img {
	transform: scale(1.03);
}

.post-type-archive-product ul.products li.product .product-heart,
.tax-product_cat ul.products li.product .product-heart,
.featured-products.home-best-sellers .woocommerce ul.products li.product .product-heart {
	height: 44px;
	right: 20px;
	top: 20px;
	transition: background-color 300ms ease, color 300ms ease;
	width: 44px;
}

.post-type-archive-product ul.products li.product .product-heart:hover,
.tax-product_cat ul.products li.product .product-heart:hover,
.post-type-archive-product ul.products li.product .product-heart.is-active,
.tax-product_cat ul.products li.product .product-heart.is-active,
.featured-products.home-best-sellers .woocommerce ul.products li.product .product-heart:hover,
.featured-products.home-best-sellers .woocommerce ul.products li.product .product-heart.is-active {
	background: #fff;
	color: #df0000;
}

.post-type-archive-product ul.products li.product .product-badge,
.tax-product_cat ul.products li.product .product-badge,
.featured-products.home-best-sellers .woocommerce ul.products li.product .product-badge {
	display: none;
}

.post-type-archive-product ul.products li.product .product-card-info,
.tax-product_cat ul.products li.product .product-card-info,
.featured-products.home-best-sellers .woocommerce ul.products li.product .product-card-info {
	padding: 16px 0 0;
}

.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.featured-products.home-best-sellers .woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: #414651;
	display: block;
	font-family: var(--font-primary);
	font-size: 24px;
	font-weight: 400;
	height: 30px;
	line-height: 1;
	margin: 0 0 -26px;
	max-width: 266px;
	overflow: hidden;
	padding: 0;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 266px;
}

.post-type-archive-product ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.featured-products.home-best-sellers .woocommerce ul.products li.product .price {
	align-items: center;
	color: #111827;
	display: flex;
	flex-wrap: nowrap;
	font-size: 20px;
	font-weight: 500;
	gap: 8px;
	height: 30px;
	line-height: 1;
	margin: 0;
	overflow: hidden;
	width: 267px;
}

.post-type-archive-product ul.products li.product .price del,
.tax-product_cat ul.products li.product .price del,
.featured-products.home-best-sellers .woocommerce ul.products li.product .price del {
	color: #a4a7ae;
	font-size: 20px;
	font-weight: 400;
	opacity: 1;
	text-decoration: line-through;
}

.post-type-archive-product ul.products li.product .price ins,
.tax-product_cat ul.products li.product .price ins,
.featured-products.home-best-sellers .woocommerce ul.products li.product .price ins {
	color: #111827;
	font-size: 20px;
	font-weight: 500;
	text-decoration: none;
}

.post-type-archive-product ul.products li.product .tiny-discount,
.tax-product_cat ul.products li.product .tiny-discount,
.featured-products.home-best-sellers .woocommerce ul.products li.product .tiny-discount {
	color: #838ec7;
	font-size: 20px;
	font-weight: 400;
	white-space: nowrap;
}

.post-type-archive-product ul.products li.product .button,
.tax-product_cat ul.products li.product .button,
.featured-products.home-best-sellers .woocommerce ul.products li.product .button {
	display: none;
}

.post-type-archive-product nav.woocommerce-pagination,
.tax-product_cat nav.woocommerce-pagination {
	margin-top: 56px;
	text-align: center;
}

.post-type-archive-product nav.woocommerce-pagination ul,
.tax-product_cat nav.woocommerce-pagination ul {
	border: 0;
	display: inline-flex;
	gap: 10px;
	margin: 0;
	padding: 0;
}

.post-type-archive-product nav.woocommerce-pagination ul li,
.tax-product_cat nav.woocommerce-pagination ul li {
	border: 0;
}

.post-type-archive-product nav.woocommerce-pagination ul li a,
.post-type-archive-product nav.woocommerce-pagination ul li span,
.tax-product_cat nav.woocommerce-pagination ul li a,
.tax-product_cat nav.woocommerce-pagination ul li span {
	align-items: center;
	background: transparent;
	border-radius: 50%;
	color: #414651;
	display: flex;
	font-family: var(--font-primary);
	font-size: 16px;
	height: 40px;
	justify-content: center;
	min-width: 40px;
	transition: background-color 300ms ease, color 300ms ease;
}

.post-type-archive-product nav.woocommerce-pagination ul li a:hover,
.post-type-archive-product nav.woocommerce-pagination ul li span.current,
.tax-product_cat nav.woocommerce-pagination ul li a:hover,
.tax-product_cat nav.woocommerce-pagination ul li span.current {
	background: #838ec7;
	color: #fff;
}

@media (max-width: 1835px) {
	.post-type-archive-product .shop-main .container,
	.tax-product_cat .shop-main .container {
		max-width: calc(100% - 96px);
	}

	.post-type-archive-product ul.products,
	.tax-product_cat ul.products,
	.featured-products.home-best-sellers .woocommerce ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.post-type-archive-product ul.products li.product,
	.tax-product_cat ul.products li.product,
	.featured-products.home-best-sellers .woocommerce ul.products li.product,
	.post-type-archive-product ul.products li.product .product-card-shell,
	.tax-product_cat ul.products li.product .product-card-shell,
	.featured-products.home-best-sellers .woocommerce ul.products li.product .product-card-shell,
	.post-type-archive-product ul.products li.product .product-image-wrap,
	.tax-product_cat ul.products li.product .product-image-wrap,
	.featured-products.home-best-sellers .woocommerce ul.products li.product .product-image-wrap {
		width: 100% !important;
	}

	.post-type-archive-product ul.products li.product .product-image-wrap,
	.tax-product_cat ul.products li.product .product-image-wrap,
	.featured-products.home-best-sellers .woocommerce ul.products li.product .product-image-wrap {
		aspect-ratio: 415 / 420;
		height: auto;
	}
}

@media (max-width: 1399px) {
	.post-type-archive-product ul.products,
	.tax-product_cat ul.products,
	.featured-products.home-best-sellers .woocommerce ul.products {
		gap: 46px 28px;
		grid-template-columns: repeat(3, minmax(0, 415px));
		justify-content: center;
	}
}

@media (max-width: 1199px) {
	.post-type-archive-product .shop-main,
	.tax-product_cat .shop-main {
		padding-top: 64px;
	}

	.post-type-archive-product .shop-main .container,
	.tax-product_cat .shop-main .container {
		max-width: calc(100% - 48px);
		width: calc(100% - 48px);
	}

	.post-type-archive-product .shop-tabs,
	.tax-product_cat .shop-tabs {
		gap: 42px;
		justify-content: flex-start;
		margin-bottom: 30px;
		max-width: 100%;
	}

	.post-type-archive-product ul.products,
	.tax-product_cat ul.products,
	.featured-products.home-best-sellers .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 415px));
	}
}

@media (max-width: 767px) {
	.post-type-archive-product .shop-main,
	.tax-product_cat .shop-main {
		padding: 44px 0 72px;
	}

	.post-type-archive-product .shop-main .container,
	.tax-product_cat .shop-main .container {
		max-width: calc(100% - 32px);
		width: calc(100% - 32px);
	}

	.post-type-archive-product .shop-tabs,
	.tax-product_cat .shop-tabs {
		height: auto;
		margin-bottom: 24px;
	}

	.post-type-archive-product .shop-tabs a,
	.tax-product_cat .shop-tabs a {
		font-size: 20px;
	}

	.post-type-archive-product .shop-toolbar,
	.tax-product_cat .shop-toolbar {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
		height: auto;
		margin-bottom: 24px;
	}

	.post-type-archive-product .shop-breadcrumb,
	.tax-product_cat .shop-breadcrumb,
	.post-type-archive-product .woocommerce-result-count,
	.tax-product_cat .woocommerce-result-count {
		font-size: 14px;
		line-height: 20px;
	}

	.post-type-archive-product ul.products,
	.tax-product_cat ul.products,
	.featured-products.home-best-sellers .woocommerce ul.products {
		gap: 38px;
		grid-template-columns: minmax(0, 100%);
	}

	.post-type-archive-product ul.products li.product,
	.tax-product_cat ul.products li.product,
	.featured-products.home-best-sellers .woocommerce ul.products li.product,
	.post-type-archive-product ul.products li.product .product-card-shell,
	.tax-product_cat ul.products li.product .product-card-shell,
	.featured-products.home-best-sellers .woocommerce ul.products li.product .product-card-shell {
		height: auto;
		max-width: 100%;
	}

	.post-type-archive-product ul.products li.product .product-heart,
	.tax-product_cat ul.products li.product .product-heart,
	.featured-products.home-best-sellers .woocommerce ul.products li.product .product-heart {
		height: 40px;
		right: 16px !important;
		top: 16px !important;
		width: 40px;
	}

	.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
	.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
	.featured-products.home-best-sellers .woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 22px;
		max-width: 100%;
		width: 100%;
	}

	.post-type-archive-product ul.products li.product .price,
	.tax-product_cat ul.products li.product .price,
	.featured-products.home-best-sellers .woocommerce ul.products li.product .price {
		font-size: 18px;
		width: 100%;
	}

	.post-type-archive-product ul.products li.product .price del,
	.post-type-archive-product ul.products li.product .price ins,
	.post-type-archive-product ul.products li.product .tiny-discount,
	.tax-product_cat ul.products li.product .price del,
	.tax-product_cat ul.products li.product .price ins,
	.tax-product_cat ul.products li.product .tiny-discount,
	.featured-products.home-best-sellers .woocommerce ul.products li.product .price del,
	.featured-products.home-best-sellers .woocommerce ul.products li.product .price ins,
	.featured-products.home-best-sellers .woocommerce ul.products li.product .tiny-discount {
		font-size: 18px;
	}
}

.woocommerce select.orderby,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.input-text {
	background: #fff;
	border: 1px solid #cfd1da;
	border-radius: 4px;
	min-height: 46px;
	padding: 10px 12px;
	width: 100%;
}

.woocommerce div.product {
	background: var(--tt-bg);
	display: grid;
	gap: 52px;
	grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	float: none;
	margin: 0;
	width: auto;
}

.woocommerce div.product div.images img {
	background: var(--tt-product);
}

.woocommerce div.product .product_title {
	font-size: clamp(30px, 4vw, 40px);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--tt-ink);
	font-size: 26px;
	font-weight: 900;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
	color: #a4a7b2;
	opacity: 1;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
	text-decoration: none;
}

.quantity .qty {
	border: 1px solid #cfd1da;
	border-radius: 4px;
	min-height: 44px;
	padding: 8px;
	width: 76px;
}

.woocommerce div.product form.cart .button {
	border-radius: 4px;
	clear: both;
	margin-top: 18px;
	width: 100%;
}

.woocommerce div.product form.cart .tiny-buy-now {
	background: var(--tt-brand);
	border-color: var(--tt-brand);
	order: -1;
}

.woocommerce-tabs,
.related.products,
.upsells.products {
	grid-column: 1 / -1;
	margin-top: 48px;
}

.woocommerce table.shop_table {
	background: #fff;
	border: 0;
	border-collapse: collapse;
	border-radius: var(--tt-radius);
	overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-color: #ececf0;
	padding: 16px;
}

.woocommerce table.shop_table th {
	font-size: 17px;
	font-weight: 900;
}

.tiny-cart .coupon {
	display: flex;
	float: left;
	gap: 10px;
}

.tiny-cart-summary .cart_totals,
.checkout-panel {
	background: #fff;
	border: 0;
	border-radius: 0;
	padding: 24px;
}

.checkout-grid {
	align-items: start;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) 420px;
}

.woocommerce-checkout .page-main {
	padding-top: 56px;
}

.woocommerce-checkout .content-narrow {
	max-width: 1460px;
}

.woocommerce-checkout .page-header {
	display: none;
}

.woocommerce-checkout .entry-content {
	background: transparent;
	border: 0;
	padding: 0;
}

.tiny-checkout-title {
	font-size: 30px;
	margin: 0 0 58px;
}

.checkout-details > h2,
.checkout-review > h2,
.checkout-offers h2 {
	color: var(--tt-muted);
	font-size: 22px;
	font-weight: 800;
	margin-bottom: 12px;
}

.checkout-panel {
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(30, 32, 49, 0.06);
	margin-bottom: 34px;
	padding: 30px;
}

.checkout-address-card {
	align-items: flex-start;
	display: grid;
	gap: 20px;
	grid-template-columns: 54px 1fr auto;
}

.checkout-address-card strong {
	display: block;
	font-size: 22px;
	font-weight: 900;
}

.checkout-address-card p {
	color: #4f5362;
	font-size: 20px;
	margin: 4px 0;
}

.checkout-address-card a {
	color: var(--tt-brand);
	font-size: 18px;
	font-weight: 900;
	text-decoration: underline;
}

.checkout-location-icon {
	border: 3px solid #626574;
	border-radius: 50% 50% 50% 0;
	display: block;
	height: 34px;
	margin-top: 6px;
	transform: rotate(-45deg);
	width: 34px;
}

.checkout-location-icon::after {
	background: #626574;
	border-radius: 50%;
	content: "";
	display: block;
	height: 10px;
	margin: 9px;
	width: 10px;
}

.tiny-checkout .woocommerce-billing-fields h3,
.tiny-checkout .woocommerce-additional-fields h3,
.tiny-checkout #ship-to-different-address {
	display: none;
}

.tiny-checkout .form-row {
	margin-bottom: 22px !important;
}

.tiny-checkout .form-row label {
	color: #555967;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.35;
}

.checkout-add-address {
	font-size: 18px;
	margin-top: 10px;
	width: 100%;
}

.checkout-offers {
	margin-top: 0;
}

.checkout-offers .coupon-row {
	background: #fff;
}

.checkout-offers p {
	align-items: center;
	display: flex;
	font-size: 18px;
	gap: 12px;
	margin: 18px 0 0;
}

.checkout-offers p span {
	align-items: center;
	background: #38c742;
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	height: 32px;
	justify-content: center;
	width: 32px;
}

.tt-coupon-applied {
	align-items: center;
	display: flex;
	font-size: 18px;
	gap: 12px;
	margin: 18px 0 0;
}

.coupon-check {
	align-items: center;
	background: #38c742;
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	height: 32px;
	justify-content: center;
	width: 32px;
}

.tt-remove-coupon {
	background: transparent;
	border: 0;
	color: var(--tt-muted);
	cursor: pointer;
	font-size: 22px;
	line-height: 1;
	margin-left: auto;
	padding: 0 4px;
}

.checkout-apply-coupon {
	background: transparent;
	border: 0;
	border-left: 1px solid #d0d2dc;
	color: var(--tt-brand);
	cursor: pointer;
	font-size: 16px;
	font-weight: 900;
	padding: 0 18px;
}

.coupon-row {
	display: flex;
	align-items: center;
}

.woocommerce-checkout-review-order-table {
	border-bottom: 1px solid #e4e5eb !important;
}

.woocommerce-checkout-review-order-table thead,
.woocommerce-checkout-review-order-table .cart-subtotal th,
.woocommerce-checkout-review-order-table .cart-subtotal td {
	display: none;
}

.woocommerce-checkout-review-order-table .product-name,
.woocommerce-checkout-review-order-table .product-total {
	font-size: 16px;
	font-weight: 800;
}

.woocommerce-checkout-payment {
	background: transparent !important;
}

.woocommerce-checkout-payment ul.payment_methods {
	border: 0 !important;
	padding: 0 !important;
}

.woocommerce-checkout-payment li {
	background: #fff;
	border: 1px solid #d5d7e6;
	border-radius: 5px;
	margin-bottom: 14px !important;
	padding: 18px !important;
	display: block;
}

.woocommerce-checkout-payment .place-order {
	padding: 0 !important;
}

.woocommerce-checkout-payment #place_order {
	background: var(--tt-brand);
	border-radius: 4px;
	font-size: 19px;
	min-height: 58px;
	width: 100%;
	display: none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: #fff;
	border-top-color: var(--tt-brand);
	border-radius: 4px;
	color: var(--tt-ink);
}

.tiny-product-main {
	padding: 96px 0 84px;
}

.tiny-product-breadcrumb {
	align-items: center;
	color: var(--tt-muted);
	display: flex;
	font-size: 19px;
	font-weight: 500;
	gap: 13px;
	margin-bottom: 42px;
}

.tiny-product-breadcrumb span:last-child {
	color: var(--tt-brand);
}

.tiny-product-layout {
	display: grid;
	gap: 68px;
	grid-template-columns: minmax(0, 1.28fr) minmax(420px, 0.92fr);
}

.tiny-product-gallery {
	display: grid;
	gap: 28px;
	grid-template-columns: 110px minmax(0, 1fr);
}

.tiny-product-thumbs {
	display: grid;
	gap: 28px;
}

.tiny-thumb {
	background: #d1d1d1;
	border: 0;
	cursor: pointer;
	padding: 0;
}

.tiny-thumb img {
	aspect-ratio: 1;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tiny-product-image {
	background: #d1d1d1;
	min-height: 730px;
	position: relative;
}

.tiny-product-image > img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.tiny-product-heart {
	height: 70px;
	right: 36px;
	top: 50px;
	width: 70px;
}

.zoom-controls {
	bottom: 50px;
	display: grid;
	left: 52px;
	position: absolute;
}

.zoom-controls button {
	background: #fff;
	border: 1px solid #cfd1da;
	color: var(--tt-muted);
	font-size: 24px;
	height: 46px;
	width: 46px;
}

.tiny-product-summary {
	padding-top: 8px;
}

.tiny-rating {
	color: #242636;
	font-size: 22px;
	font-weight: 500;
	margin-bottom: 30px;
}

.tiny-rating span {
	color: #ffc531;
}

.tiny-product-summary h1 {
	font-size: clamp(36px, 3vw, 50px);
	line-height: 1.12;
	margin-bottom: 28px;
}

.tiny-price,
.tiny-product-summary .price {
	color: var(--tt-ink);
	font-size: 36px;
	font-weight: 900;
	line-height: 1.2;
}

.tiny-price del,
.tiny-product-summary del {
	color: #a4a7b2;
	font-weight: 500;
	margin-left: 14px;
	opacity: 1;
}

.tiny-price ins {
	text-decoration: none;
}

.tiny-product-summary hr {
	border: 0;
	border-top: 1px solid #d2d2d2;
	margin: 44px 0 34px;
}

.tiny-variation-form table.variations {
	display: block;
	margin: 0;
	width: 100%;
}

.tiny-variation-form table.variations tbody,
.tiny-variation-form table.variations tr,
.tiny-variation-form table.variations th,
.tiny-variation-form table.variations td {
	display: block;
	padding: 0;
	text-align: left;
}

.tiny-variation-form table.variations tr {
	margin-bottom: 28px;
}

.tiny-variation-form table.variations th.label {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 18px;
}

.tiny-variation-form table.variations label {
	color: var(--tt-ink);
	font-size: 22px;
	font-weight: 500;
}

.tiny-variation-form table.variations select {
	display: none;
}

.tiny-variation-form .reset_variations {
	color: var(--tt-muted);
	display: inline-block;
	font-size: 14px;
	font-weight: 800;
	margin-top: 14px;
	text-decoration: underline;
}

.tiny-variation-form .single_variation_wrap {
	margin-top: 6px;
}

.tiny-variation-form .woocommerce-variation-add-to-cart {
	display: flex;
	flex-direction: column;
}

.tiny-variation-form .single_add_to_cart_button {
	background: transparent !important;
	border: 1px solid var(--tt-brand) !important;
	color: var(--tt-brand) !important;
	order: 2;
}

.tiny-variation-form .tiny-buy-now {
	order: 1;
}

.tiny-variation-form .quantity {
	margin: 0 0 28px;
	order: 0;
}

.option-head {
	align-items: center;
	display: flex;
	font-size: 22px;
	justify-content: space-between;
	margin-bottom: 22px;
}

.size-guide {
	color: #15709d;
	font-weight: 800;
}

.size-options {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(5, minmax(96px, 1fr));
}

.size-pill {
	background: #fff;
	border: 1px solid #aeb0bc;
	border-radius: 6px;
	color: var(--tt-muted);
	font-size: 22px;
	font-weight: 500;
	/* min-height: 70px; */
	white-space: nowrap;
}

.size-pill.is-selected {
	border: 3px solid var(--tt-brand);
	color: var(--tt-brand);
}

.purchase-options {
	display: flex;
	gap: 54px;
	margin: 34px 0 54px;
}

.purchase-options label {
	display: block;
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 15px;
}

.tiny-cart-form .quantity .qty {
	border: 1px solid #cfd1da;
	border-radius: 6px;
	font-size: 24px;
	height: 64px;
	text-align: center;
	width: 128px;
}

.colour-options {
	display: flex;
	gap: 18px;
}

.colour-swatch {
	background: var(--swatch);
	border: 0;
	border-radius: 6px;
	height: 62px;
	width: 62px;
}

.colour-swatch.is-selected {
	box-shadow: 0 0 0 4px #fff, 0 0 0 7px #1d1f2e;
}

.tiny-cart-form .button {
	border-radius: 6px;
	font-size: 22px;
	min-height: 70px;
	width: 100%;
}

.tiny-cart-form .button.tiny-add-cart {
	background: transparent !important;
	border: 1px solid var(--tt-brand) !important;
	color: var(--tt-brand) !important;
	margin-top: 28px;
}

/* quick-view-trigger base styles defined in product grid section above */

.tt-modal-overlay {
	background: rgba(0, 0, 0, 0.45);
	inset: 0;
	position: fixed;
	z-index: 200;
}

.tt-quick-view,
.tt-cart-panel {
	background: #fff;
	bottom: 0;
	box-shadow: -12px 0 36px rgba(0, 0, 0, 0.16);
	position: fixed;
	right: 0;
	top: 0;
	z-index: 210;
}

.tt-quick-view {
	background: #f5f2f1;
	box-shadow: none;
	box-sizing: border-box;
	height: 100dvh;
	overflow-y: auto;
	padding: 40px 40px 228px;
	width: 621px;
}

.tt-quick-view:focus {
	outline: none;
}

.tt-quick-view:not([hidden]) {
	animation: tt-quick-view-slide 300ms ease;
}

@keyframes tt-quick-view-slide {
	from {
		transform: translateX(100%);
	}

	to {
		transform: translateX(0);
	}
}

.tt-modal-close {
	background: transparent;
	border: 0;
	color: var(--tt-ink);
	font-size: 34px;
	font-weight: 400;
	line-height: 1;
	position: absolute;
	right: 39px;
	top: 47px;
}

.tt-quick-view .tt-modal-close {
	align-items: center;
	color: #181d27;
	display: inline-flex;
	font-size: 32px;
	height: 32px;
	justify-content: center;
	right: 40px;
	top: 40px;
	width: 32px;
	z-index: 3;
}

.tt-quick-view h2 {
	color: #181d27;
	font-size: 32px;
	font-weight: 400;
	height: 40px;
	line-height: 40px;
	margin: 0 48px 16px 0;
	white-space: nowrap;
	width: 159px;
}

.tt-quick-view .tiny-rating {
	color: #414651;
	font-size: 20px;
	font-weight: 400;
	line-height: 25px;
	margin-bottom: 17px;
	white-space: nowrap;
}

.tt-quick-view .tiny-rating span {
	color: #f5b52e;
}

.tt-modal-line {
	border-top: 1px solid #a4a7ae;
	margin: 0 0 40px;
	width: 541px;
}

.tt-qv-top {
	display: grid;
	gap: 30px;
	grid-template-columns: 200px minmax(0, 1fr);
	position: relative;
}

.tt-qv-summary {
	position: relative;
}

.tt-qv-image {
	background: #d1d1d1;
	border-radius: 4px;
	height: 183px;
	overflow: hidden;
	position: relative;
	width: 200px;
}

.tt-qv-image a {
	display: block;
	height: 100%;
	width: 100%;
}

.tt-qv-image .product-heart {
	height: 34px;
	right: 14px;
	top: 16px;
	width: 34px;
	z-index: 2;
}

.tt-qv-image img {
	background: #d1d1d1;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.tt-qv-top h3 {
	color: #181d27;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 12px;
}

.tt-quick-view .tiny-price {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	font-size: 28px;
	gap: 14px;
	font-weight: 500;
	line-height: 1.2;
}

.tt-quick-view .tiny-price del {
	color: #a4a7ae;
	font-size: 26px;
	font-weight: 400;
	margin: 0;
}

.tt-quick-view .tiny-price ins,
.tt-quick-view .tiny-price ins span {
	color: #181d27;
	text-decoration: none;
}

.tt-quick-view .tiny-price .tiny-discount {
	color: #6d79b8;
	font-size: 24px;
	font-weight: 400;
}

.tt-view-details {
	color: #6d79b8;
	display: inline-block;
	font-size: 20px;
	font-weight: 400;
	/* line-height: 1.25; */
	/* margin-top: 33px; */
	text-decoration: underline;
}

.tt-view-details:hover,
.tt-view-details:focus {
	color: #5d6fcb;
}

.tt-qv-desc {
	color: #414651;
	font-size: 20px;
	font-weight: 400;
	line-height: 25px;
	margin: 54px 0 50px;
	min-height: 50px;
	width: 541px;
}

.tt-quick-view .option-head {
	color: #414651;
	font-size: 18px;
	font-weight: 500;
	line-height: 22px;
	margin-bottom: 15px;
	width: 541px;
}

.tt-quick-view .size-guide {
	align-items: center;
	color: #0072ce;
	display: inline-flex;
	font-size: 18px;
	font-weight: 500;
	gap: 8px;
	line-height: 22px;
	text-decoration: none;
}

.tt-quick-view .size-guide:hover,
.tt-quick-view .size-guide:focus {
	color: #005fa8;
}

.tt-quick-view .size-options {
	display: flex;
	gap: 0;
	justify-content: space-between;
	max-width: 100%;
	width: 554px;
}

.tt-quick-view .size-pill {
	border: 1px solid #717680;
	border-radius: 6px;
	color: #717680;
	font-size: 15px;
	font-weight: 500;
	height: 49px;
	min-height: 0;
	padding: 0 15px;
	width: 94px;
}

.tt-quick-view .size-pill.is-selected {
	background: #f8f8ff;
	border: 1px solid #6d79b8;
	color: #6d79b8;
}

.tt-quick-view .option-row--size {
	margin: 0;
}

.tt-quick-view .purchase-options {
	align-items: flex-start;
	display: flex;
	gap: 40px;
	margin: 29px 0 0;
}

.tt-quick-view .purchase-options label {
	color: #414651;
	font-size: 18px;
	font-weight: 500;
	line-height: 22px;
	margin-bottom: 11px;
}

.tt-quick-view .colour-options {
	gap: 12px;
}

.tt-quick-view .colour-swatch {
	border-radius: 5px;
	height: 43px;
	width: 43px;
}

.tt-quick-view .colour-swatch.is-selected {
	box-shadow: 0 0 0 3px #fff, 0 0 0 5px #1d1f2e;
}

.tt-quick-view .tt-modal-actions {
	background: #f5f2f1;
	bottom: 40px;
	display: grid;
	gap: 24px;
	left: auto;
	padding: 0;
	position: fixed;
	right: 40px;
	width: 541px;
}

.tt-quick-view .tt-modal-actions .button {
	border-radius: 8px;
	font-size: 24px;
	font-weight: 600;
	height: 68px;
	line-height: 1;
	min-height: 68px;
	padding: 24px 32px;
}

.tt-quick-view .tt-modal-actions .tiny-buy-now {
	background: #6d79b8 !important;
	color: #fff !important;
}

.tt-quick-view .tt-modal-actions .tiny-buy-now:hover,
.tt-quick-view .tt-modal-actions .tiny-buy-now:focus {
	background: #5d6fcb !important;
}

.tt-quick-view .tt-modal-actions .tiny-add-cart {
	background: transparent !important;
	border: 1px solid #6d79b8 !important;
	color: #6d79b8 !important;
}

.tt-quick-view .tt-modal-actions .tiny-add-cart:hover,
.tt-quick-view .tt-modal-actions .tiny-add-cart:focus {
	background: #6d79b8 !important;
	color: #fff !important;
}

.modal-qty {
	align-items: center;
	background: #fff;
	border: 1px solid #717680;
	border-radius: 6px;
	display: grid;
	grid-template-columns: 30px 38px 30px;
	height: 49px;
	justify-content: center;
	width: 102px;
}

.modal-qty button {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--tt-muted);
	display: inline-flex;
	font-size: 24px;
	height: 34px;
	justify-content: center;
	padding: 0;
	width: 34px;
}

.modal-qty button:disabled {
	cursor: not-allowed;
	opacity: 0.42;
}

.modal-qty span {
	color: var(--tt-ink);
	font-size: 20px;
	font-weight: 500;
	text-align: center;
}

.modal-qty input {
	appearance: textfield;
	background: transparent;
	border: 0;
	color: var(--tt-ink);
	font-size: 20px;
	font-weight: 500;
	text-align: center;
	width: 38px;
}

.modal-qty input::-webkit-outer-spin-button,
.modal-qty input::-webkit-inner-spin-button {
	appearance: none;
	margin: 0;
}

@media (max-width: 760px) and (min-width: 561px) {
	.tt-quick-view {
		width: 520px;
	}

	.tt-side-cart {
		width: 520px;
	}

	.tt-quick-view h2,
	.tt-modal-line,
	.tt-qv-desc,
	.tt-quick-view .option-head,
	.tt-quick-view .tt-modal-actions {
		width: 440px;
	}

	.tt-qv-top {
		gap: 22px;
		grid-template-columns: 180px minmax(0, 1fr);
	}

	.tt-qv-image {
		height: 165px;
		width: 180px;
	}

	.tt-quick-view .size-options {
		width: 440px;
	}

	.tt-quick-view .size-pill {
		font-size: 17px;
		padding: 0 8px;
		width: 78px;
	}

	.tt-side-cart .tt-modal-line,
	.tt-side-cart .tt-drawer-item {
		width: 440px;
	}

	.tt-side-cart .tt-drawer-total {
		width: 520px;
	}

	.tt-side-cart .tt-checkout-button {
		width: 440px;
	}

	.tt-side-cart .tt-drawer-item h3,
	.tt-side-cart .tt-drawer-meta {
		left: 154px;
	}

	.tt-side-cart .tt-drawer-price {
		width: 78px;
	}
}

.tt-cart-panel {
	border-radius: 34px 0 0 34px;
	left: 50%;
	margin: 60px auto;
	max-width: 650px;
	padding: 48px;
	top: 0;
}

.tt-cart-head {
	align-items: flex-start;
	display: flex;
	justify-content: space-between;
}

.tt-go-back {
	background: transparent;
	border: 0;
	font-size: 22px;
	font-weight: 900;
}

.tt-cart-head div {
	font-size: 20px;
	text-align: right;
}

.tt-cart-head div span {
	background: #f0f2ff;
	border-radius: 7px;
	color: var(--tt-brand);
	display: inline-block;
	font-style: italic;
	margin-right: 14px;
	padding: 9px 15px;
}

.tt-cart-head strong {
	display: block;
	font-size: 28px;
	margin-top: 20px;
}

.tt-offers,
.tt-login-box {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(30, 32, 49, 0.05);
	margin-top: 34px;
	padding: 26px;
}

.tt-offers h3,
.tt-login-box h3 {
	font-size: 22px;
	font-weight: 600;
	margin-bottom: 18px;
}

.coupon-row,
.tt-login-box label {
	align-items: center;
	border: 1px solid #dde0e8;
	display: flex;
	gap: 14px;
	min-height: 56px;
	padding: 0 16px;
}

.coupon-row input,
.tt-login-box input {
	border: 0;
	flex: 1;
	min-width: 0;
	outline: 0;
}

.tt-offers p span {
	background: #3bbf3b;
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	height: 34px;
	justify-content: center;
	margin-right: 14px;
	width: 34px;
}

.tt-continue {
	bottom: 48px;
	font-size: 24px;
	left: 48px;
	min-height: 72px;
	position: absolute;
	right: 48px;
}

.tt-drawer {
	background: #fff;
	bottom: 0;
	box-shadow: -12px 0 36px rgba(0, 0, 0, 0.16);
	overflow-y: auto;
	padding: 36px 36px 244px;
	position: fixed;
	right: 0;
	top: 0;
	width: min(620px, 100vw);
	z-index: 210;
}

.tt-wishlist-drawer {
	padding: 34px 32px 118px;
	width: min(620px, 100vw);
}

.tt-drawer h2 {
	font-size: clamp(30px, 3vw, 42px);
	font-weight: 800;
	margin-right: 48px;
}

.tt-drawer-list {
	display: grid;
	gap: 20px;
}

.tt-drawer-item {
	background: #fff;
	display: grid;
	gap: 18px 22px;
	grid-template-columns: 170px minmax(0, 1fr);
	padding: 18px;
	position: relative;
}

.tt-drawer-item__image img {
	aspect-ratio: 1;
	background: #d1d1d1;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tt-drawer-item h3 {
	font-size: clamp(20px, 2vw, 28px);
	font-weight: 800;
	line-height: 1.15;
	margin-bottom: 10px;
}

.tt-drawer-meta {
	align-items: center;
	display: grid;
	gap: 12px;
	font-size: 17px;
	margin-top: 20px;
}

.tt-drawer-meta b {
	border: 1px solid var(--tt-brand);
	border-radius: 4px;
	color: var(--tt-brand);
	display: inline-block;
	font-size: 14px;
	margin-left: 6px;
	padding: 4px 12px;
}

.tt-drawer-meta i {
	background: var(--drawer-swatch, #e50000);
	border-radius: 4px;
	display: inline-block;
	height: 32px;
	margin-left: 6px;
	vertical-align: middle;
	width: 32px;
}

.tt-drawer-item label {
	display: block;
	font-size: 16px;
	font-weight: 500;
	margin: 22px 0 10px;
}

.tt-drawer-actions {
	align-items: center;
	display: flex;
	gap: 20px;
}

.tt-trash {
	background: #fff1f1;
	border: 0;
	border-radius: 4px;
	height: 52px;
	position: relative;
	width: 52px;
}

.tt-trash::before {
	border: 3px solid #dc1212;
	border-top: 0;
	content: "\f1f8";
	height: 26px;
	left: 17px;
	position: absolute;
	top: 17px;
	width: 18px;
}

.tt-trash::after {
	background: #dc1212;
	box-shadow: 0 -6px 0 -1px #dc1212;
	content: "";
	height: 3px;
	left: 14px;
	position: absolute;
	top: 13px;
	width: 24px;
}

.tt-drawer-price {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	font-size: 21px;
	gap: 8px;
	font-weight: 900;
	line-height: 1.2;
	text-align: left;
}

.tt-drawer-price del,
.tt-total-price del {
	color: #a4a7b2;
	font-weight: 500;
}

.tt-drawer-price ins,
.tt-total-price ins {
	text-decoration: none;
}

.tt-drawer-total {
	background: #fff;
	border-top: 1px solid #ececf0;
	bottom: 102px;
	left: 0;
	padding: 24px 36px 12px;
	position: fixed;
	right: 0;
	width: min(620px, 100vw);
	margin-left: auto;
}

.tt-drawer-total__row {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.tt-drawer-total__row > span {
	font-size: 22px;
	font-weight: 900;
}

.tt-savings-note {
	color: var(--tt-brand);
	font-size: 17px;
	font-style: italic;
	font-weight: 500;
	margin: 4px 0 0;
	text-align: right;
}

.tt-drawer-total strong {
	display: block;
	font-size: 26px;
	font-weight: 900;
}

.tt-drawer-total span {
	color: var(--tt-brand);
	display: block;
	font-size: 18px;
	font-style: italic;
	font-weight: 500;
}

.tt-total-price {
	font-size: 26px;
	font-weight: 900;
	text-align: right;
}

.tt-checkout-button,
.tt-real-wishlist-link {
	bottom: 28px;
	font-size: 22px;
	left: auto;
	min-height: 70px;
	position: fixed;
	right: 36px;
	width: min(548px, calc(100vw - 72px));
}

.tt-wishlist-drawer .tt-drawer-item {
	background: #fff;
	box-shadow: 0 4px 16px rgba(30, 32, 49, 0.04);
	gap: 18px;
	grid-template-columns: 170px minmax(0, 1fr);
	padding: 16px;
}

.tt-wishlist-drawer .tt-drawer-item .product-heart {
	position: absolute;
	right: 14px;
	top: 14px;
}

.tt-wishlist-drawer .tt-drawer-price {
	text-align: left;
	white-space: normal;
}

.tt-wishlist-drawer .tt-drawer-item h3 {
	font-size: 24px;
	margin-right: 44px;
}

.tt-wishlist-drawer .tt-drawer-meta {
	font-size: 16px;
	margin: 12px 0 2px;
}

/* ── Cart drawer — Figma matched right panel ───────────────── */
.tt-side-cart {
	background: #f5f2f1;
	box-shadow: none;
	box-sizing: border-box;
	height: 100dvh;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 40px 40px 272px;
	width: 621px;
}

.tt-side-cart:focus {
	outline: none;
}

.tt-side-cart:not([hidden]) {
	animation: tt-quick-view-slide 300ms ease;
}

.tt-side-cart .tt-modal-close {
	align-items: center;
	color: #181d27;
	display: inline-flex;
	font-size: 24px;
	height: 32px;
	justify-content: center;
	right: 40px;
	top: 40px;
	width: 32px;
	z-index: 3;
}

.tt-side-cart h2 {
	color: #181d27;
	font-size: 24px;
	font-weight: 500;
	line-height: 31px;
	margin: 0 48px 18px 0;
}

.tt-side-cart .tt-modal-line {
	border-color: #a4a7ae;
	margin: 0 0 40px;
	width: 541px;
}

.tt-side-cart .tt-drawer-list {
	display: grid;
	gap: 24px;
	padding: 0;
}

.tt-side-cart .tt-drawer-item {
	background: #fafafa;
	box-sizing: border-box;
	display: block;
	height: 245px;
	padding: 16px;
	position: relative;
	width: 541px;
}

.tt-side-cart .tt-drawer-item__image {
	background: #d1d1d1;
	display: block;
	height: 136px;
	left: 16px;
	overflow: hidden;
	position: absolute;
	top: 16px;
	width: 136px;
}

.tt-side-cart .tt-drawer-item__image img {
	aspect-ratio: auto;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.tt-side-cart .tt-drawer-item__body {
	min-height: 213px;
	position: relative;
}

.tt-side-cart .tt-drawer-item h3 {
	color: #181d27;
	font-size: 20px;
	font-weight: 500;
	left: 178px;
	line-height: 1.2;
	margin: 0;
	position: absolute;
	top: 0;
	width: 210px;
}

.tt-side-cart .tt-drawer-item h3 a {
	color: inherit;
}

.tt-side-cart .tt-drawer-price {
	align-items: flex-end;
	color: #181d27;
	display: flex;
	flex-direction: column;
	font-size: 20px;
	font-weight: 500;
	gap: 2px;
	line-height: 1;
	position: absolute;
	right: 0;
	text-align: right;
	top: 0;
	width: 90px;
}

.tt-side-cart .tt-drawer-price del {
	color: #a4a7ae;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	order: 1;
}

.tt-side-cart .tt-drawer-price ins,
.tt-side-cart .tt-drawer-price ins span {
	color: #181d27;
	order: 2;
	text-decoration: none;
}

.tt-side-cart .tt-drawer-price .tiny-discount {
	color: #6d79b8;
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 1;
	order: 3;
}

.tt-side-cart .tt-drawer-meta {
	align-items: center;
	color: #414651;
	display: flex;
	font-size: 18px;
	font-weight: 400;
	gap: 18px;
	left: 178px;
	line-height: 23px;
	margin: 0;
	position: absolute;
	top: 88px;
}

.tt-side-cart .tt-drawer-meta span {
	align-items: center;
	display: inline-flex;
	gap: 8px;
	white-space: nowrap;
}

.tt-side-cart .tt-drawer-meta b {
	background: #fff;
	border: 1px solid #6d79b8;
	border-radius: 4px;
	color: #6d79b8;
	font-size: 14px;
	font-weight: 400;
	line-height: 31px;
	margin: 0;
	min-width: 59px;
	padding: 0 9px;
	text-align: center;
}

.tt-side-cart .tt-drawer-meta i {
	background: var(--drawer-swatch, #e00202);
	border-radius: 5px;
	height: 33px;
	margin: 0;
	width: 33px;
}

.tt-side-cart .tt-drawer-item label {
	color: #414651;
	display: block;
	font-size: 14px;
	font-weight: 500;
	left: 0;
	line-height: 18px;
	margin: 0;
	position: absolute;
	top: 149px;
}

.tt-side-cart .tt-drawer-actions {
	align-items: flex-end;
	display: flex;
	gap: 18px;
	left: 0;
	position: absolute;
	top: 173px;
}

.tt-side-cart .modal-qty {
	border: 1px solid #717680;
	border-radius: 6px;
	grid-template-columns: 30px 38px 30px;
	height: 44px;
	width: 100px;
}

.tt-side-cart .modal-qty button {
	color: #717680;
	font-size: 19px;
	height: 30px;
	width: 30px;
}

.tt-side-cart .modal-qty span {
	color: #181d27;
	font-size: 17px;
	font-weight: 500;
}

.tt-side-cart .tt-trash {
	background: #ffecec;
	border: 0;
	border-radius: 6px;
	height: 44px;
	width: 44px;
}

.tt-side-cart .tt-trash::before {
	border-color: #e00202;
	height: 21px;
	left: 15px;
	top: 16px;
	width: 15px;
}

.tt-side-cart .tt-trash::after {
	background: #e00202;
	box-shadow: 0 -5px 0 -1px #e00202;
	height: 3px;
	left: 12px;
	top: 12px;
	width: 21px;
}

.tt-side-cart .tt-view-details {
	bottom: 0;
	color: #717680;
	font-size: 20px;
	font-weight: 500;
	line-height: 20px;
	margin: 0;
	position: absolute;
	right: 0;
	text-decoration: underline;
}

.tt-side-cart .tt-drawer-total {
	background: #fafafa;
	border: 0;
	bottom: 0;
	box-sizing: border-box;
	height: 232px;
	left: auto;
	margin: 0;
	padding: 40px;
	position: fixed;
	right: 0;
	width: 621px;
	z-index: 211;
}

.tt-side-cart .tt-drawer-total__row {
	align-items: flex-start;
	display: flex;
	justify-content: space-between;
}

.tt-side-cart .tt-drawer-total__row > span {
	color: #181d27;
	display: block;
	font-size: 24px;
	font-style: normal;
	font-weight: 500;
	line-height: 35px;
}

.tt-side-cart .tt-total-price {
	align-items: baseline;
	color: #181d27;
	column-gap: 12px;
	display: flex;
	flex-wrap: wrap;
	font-size: 24px;
	font-weight: 500;
	justify-content: flex-end;
	line-height: 35px;
	text-align: right;
	width: 180px;
}

.tt-side-cart .tt-total-price del {
	color: #a4a7ae;
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	order: 1;
}

.tt-side-cart .tt-total-price > .woocommerce-Price-amount,
.tt-side-cart .tt-total-price > ins {
	order: 2;
}

.tt-side-cart .tt-total-price span:not(.tiny-discount),
.tt-side-cart .tt-total-price .woocommerce-Price-currencySymbol {
	color: inherit;
	display: inline;
	font-size: inherit;
	font-style: normal;
	font-weight: inherit;
}

.tt-side-cart .tt-total-price .tiny-discount {
	color: #6d79b8;
	display: block;
	flex-basis: 100%;
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 1;
	order: 3;
}

.tt-side-cart .tt-savings-note {
	color: #6d79b8;
	font-size: 20px;
	font-style: italic;
	font-weight: 400;
	line-height: 24px;
	margin: -4px 0 18px;
	text-align: left;
}

.tt-side-cart .tt-checkout-button {
	background: #6d79b8 !important;
	border: 0;
	border-radius: 8px;
	color: #fff !important;
	display: flex;
	font-size: 20px;
	font-weight: 500;
	height: 68px;
	justify-content: center;
	line-height: 1;
	margin: 0;
	min-height: 68px;
	padding: 24px 32px;
	position: static;
	width: 541px;
}

.tt-side-cart .tt-checkout-button:hover,
.tt-side-cart .tt-checkout-button:focus {
	background: #5d6fcb !important;
}

.tt-wishlist-drawer .tt-drawer-item__image img {
	aspect-ratio: 1.16;
}

.tt-wishlist-drawer .tt-real-wishlist-link {
	background: #fff !important;
	border-color: var(--tt-brand) !important;
	color: var(--tt-brand) !important;
	font-size: 19px;
	min-height: 58px;
}

.tt-empty-state {
	background: #fff;
	border: 1px solid #e3e4eb;
	border-radius: 8px;
	color: var(--tt-muted);
	padding: 28px;
	text-align: center;
}

.tt-empty-state h3 {
	font-size: 22px;
	margin-bottom: 8px;
}

.tt-account-popover {
	background: #fff;
	border: 1px solid #d5d6dc;
	border-radius: 8px;
	box-shadow: 0 18px 34px rgba(30, 32, 49, 0.16);
	padding: 30px;
	position: fixed;
	right: 76px;
	top: 92px;
	width: 330px;
	z-index: 230;
}

.tt-account-popover::before {
	background: #fff;
	border-left: 1px solid #d5d6dc;
	border-top: 1px solid #d5d6dc;
	content: "";
	height: 28px;
	position: absolute;
	right: 32px;
	top: -15px;
	transform: rotate(45deg);
	width: 28px;
}

.tt-account-popover strong,
.tt-account-popover span {
	display: block;
}

.tt-account-popover strong {
	font-size: 24px;
	font-weight: 900;
}

.tt-account-popover span {
	border-bottom: 1px solid #d9d9df;
	color: var(--tt-muted);
	font-size: 24px;
	padding: 14px 0 24px;
}

.tt-account-popover a {
	align-items: center;
	color: #d92727;
	display: flex;
	font-size: 24px;
	font-weight: 900;
	gap: 10px;
	padding-top: 24px;
}

.tt-account-popover a svg {
	flex-shrink: 0;
}

.tt-checkout-flow {
	background: #fff;
	border-radius: 22px;
	bottom: 44px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18);
	left: 50%;
	max-width: 640px;
	overflow: hidden;
	padding: 34px;
	position: fixed;
	top: 44px;
	transform: translateX(-50%);
	width: min(640px, calc(100vw - 40px));
	z-index: 220;
}

.tt-flow-step {
	display: none;
}

.tt-flow-step.is-active {
	display: block;
}

.tt-address-card,
.tt-payment-options,
.tt-card-form,
.tt-qr-card {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(30, 32, 49, 0.05);
	margin-top: 30px;
	padding: 26px;
}

.link-button {
	background: transparent;
	border: 0;
	color: var(--tt-brand);
	cursor: pointer;
	font-weight: 800;
	text-decoration: underline;
}

.tt-address-card p {
	color: var(--tt-muted);
	font-size: 18px;
	margin: 8px 0;
}

.tt-address-card strong {
	color: var(--tt-ink);
}

.tt-payment-option {
	align-items: center;
	background: #fff;
	border: 1px solid var(--tt-brand);
	border-radius: 6px;
	color: var(--tt-ink);
	display: flex;
	font-size: 20px;
	font-weight: 800;
	justify-content: space-between;
	margin-top: 20px;
	min-height: 66px;
	padding: 0 20px;
	width: 100%;
}

.tt-payment-option em {
	background: #e8ffec;
	color: #1b7d34;
	font-size: 15px;
	font-style: italic;
	margin-left: auto;
	margin-right: 14px;
	padding: 5px 10px;
}

.tt-bottom-sheet {
	background: linear-gradient(180deg, #eef1ff, #fff 48%);
	border-radius: 22px 22px 0 0;
	bottom: 0;
	left: 0;
	padding: 70px 34px 34px;
	position: absolute;
	right: 0;
}

.tt-sheet-close {
	background: #fff;
	border: 0;
	border-radius: 50%;
	box-shadow: 0 6px 20px rgba(30, 32, 49, 0.18);
	font-size: 34px;
	height: 58px;
	left: 50%;
	position: absolute;
	top: -30px;
	transform: translateX(-50%);
	width: 58px;
}

.tt-confirm-icon {
	align-items: center;
	background: #40c84c;
	border-radius: 10px;
	color: #1c3150;
	display: flex;
	font-weight: 900;
	height: 46px;
	justify-content: center;
	margin: 0 auto 30px;
	width: 86px;
}

.muted {
	color: #a4a7b2;
	text-align: center;
}

.tt-sheet-head {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 28px;
}

.tt-address-choice {
	background: #fff;
	border-radius: 10px;
	margin-top: 20px;
	padding: 24px;
}

.tt-address-choice.is-selected {
	border: 2px solid var(--tt-brand);
}

.tt-address-choice span {
	background: #eef1ff;
	color: var(--tt-brand);
	font-size: 12px;
	font-weight: 900;
	margin-left: 12px;
	padding: 4px 8px;
}

.tt-address-choice .button {
	margin-top: 18px;
	width: 100%;
}

.tt-address-form label,
.tt-card-form label {
	display: block;
	font-weight: 500;
	margin-bottom: 16px;
}

.tt-address-form input,
.tt-card-form input {
	background: #fff;
	border: 1px solid #cfd1da;
	border-radius: 6px;
	margin-top: 8px;
	min-height: 54px;
	padding: 10px 14px;
	width: 100%;
}

.two-col {
	display: grid;
	gap: 18px;
	grid-template-columns: 1fr 1fr;
}

.checkbox-row {
	align-items: center;
	display: flex !important;
	gap: 10px;
}

.checkbox-row input {
	min-height: 0;
	width: auto;
}

.tt-qr-card {
	align-items: center;
	display: grid;
	gap: 34px;
	grid-template-columns: 180px 1fr;
}

.tt-qr {
	aspect-ratio: 1;
	background:
		linear-gradient(90deg, #000 14px, transparent 14px) 0 0 / 28px 28px,
		linear-gradient(#000 14px, transparent 14px) 0 0 / 28px 28px,
		#fff;
	border: 20px solid #fff;
	box-shadow: inset 0 0 0 14px #000;
}

.tt-qr-card strong {
	display: block;
	font-size: 34px;
	font-style: italic;
	margin-top: 18px;
}

.tt-pay-row {
	align-items: center;
	display: flex;
	font-size: 22px;
	justify-content: space-between;
	margin: 28px 0;
}

.tt-confirmed {
	align-items: center;
	height: 100%;
	justify-content: center;
	text-align: center;
}

.tt-confirmed.is-active {
	display: flex;
	flex-direction: column;
}

.tt-order-confirmed .tt-confirm-icon {
	align-items: center;
	background: #22c55e;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 50px;
	font-weight: 900;
	height: 96px;
	justify-content: center;
	margin: 0 auto 28px;
	width: 96px;
}

.tt-order-confirmed {
	align-items: center;
	display: flex;
	flex-direction: column;
	min-height: 520px;
	justify-content: center;
	text-align: center;
}

.tt-order-confirmed h1 {
	font-size: 34px;
	margin-bottom: 8px;
}

.tt-order-confirmed p {
	color: var(--tt-muted);
	font-size: 20px;
	margin: 0 0 34px;
}

.tt-confirm-icon--fail {
	background: var(--tt-sale) !important;
}

.tt-order-details {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 4px 24px rgba(30, 32, 49, 0.08);
	margin: 0 auto 32px;
	max-width: 600px;
	padding: 28px 32px;
	text-align: left;
	width: 100%;
}

.tt-order-meta {
	border-bottom: 1px solid #ebebf0;
	display: grid;
	gap: 12px;
	margin-bottom: 24px;
	padding-bottom: 20px;
}

.tt-order-meta__row {
	display: flex;
	justify-content: space-between;
}

.tt-order-meta__row span {
	color: var(--tt-muted);
	font-size: 15px;
}

.tt-order-meta__row strong {
	font-size: 15px;
}

.tt-order-items {
	margin-bottom: 24px;
}

.tt-order-items h3,
.tt-order-address h3 {
	font-size: 16px;
	font-weight: 800;
	margin-bottom: 14px;
}

.tt-order-item {
	align-items: center;
	border-bottom: 1px solid #f2f2f5;
	display: flex;
	gap: 14px;
	padding: 12px 0;
}

.tt-order-item__image {
	flex-shrink: 0;
	width: 60px;
}

.tt-order-item__image img {
	border-radius: 6px;
	display: block;
	width: 100%;
}

.tt-order-item__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	font-size: 14px;
	gap: 3px;
}

.tt-order-item__body a {
	color: var(--tt-ink);
	font-weight: 500;
}

.tt-order-item__body span {
	color: var(--tt-muted);
}

.tt-order-item__price {
	font-size: 15px;
	font-weight: 500;
	white-space: nowrap;
}

.tt-order-address address {
	color: var(--tt-muted);
	font-size: 15px;
	font-style: normal;
	line-height: 1.6;
}

.tt-order-actions {
	display: flex;
	gap: 14px;
	justify-content: center;
	margin-top: 8px;
}

.tiny-product-tabs {
	margin: 120px auto 0;
	max-width: 760px;
}

.tiny-tab-nav {
	border-bottom: 1px solid #d9d9df;
	display: flex;
	gap: 52px;
	justify-content: center;
	margin-bottom: 34px;
}

.tiny-tab-nav a {
	color: var(--tt-muted);
	font-size: 17px;
	font-weight: 800;
	padding: 0 0 12px;
	text-transform: uppercase;
	white-space: nowrap;
}

.tiny-tab-nav a.is-active {
	border-bottom: 3px solid var(--tt-ink);
	color: var(--tt-ink);
}

.tiny-review-list {
	display: grid;
	gap: 26px;
}

.tiny-review-card {
	background: #fff;
	padding: 24px;
}

.tiny-review-card p {
	font-size: 17px;
	font-weight: 500;
	margin: 10px 0;
}

.tiny-review-card span {
	color: var(--tt-muted);
	font-weight: 800;
}

.tiny-review-images {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 24px;
}

.tiny-review-images img {
	aspect-ratio: 1;
	background: var(--tt-product);
	object-fit: cover;
}

.tiny-comments-button {
	justify-self: center;
	min-width: 210px;
}

/* ── Product tab panels ─────────────────────────────────── */
.tiny-tab-panel {
	display: none;
}

.tiny-tab-panel.is-active {
	display: block;
}

.tiny-tab-content {
	color: var(--tt-ink);
	font-size: 16px;
	line-height: 1.7;
	padding: 8px 0 24px;
}

.tiny-tab-content ul {
	list-style: disc;
	padding-left: 22px;
}

.tiny-tab-content ul li {
	margin-bottom: 8px;
}

/* ── Product attribute table ───────────────────────────── */
.tiny-attribute-table {
	border-collapse: collapse;
	width: 100%;
}

.tiny-attribute-table th,
.tiny-attribute-table td {
	border-bottom: 1px solid #ebebf0;
	font-size: 15px;
	padding: 12px 8px;
	text-align: left;
}

.tiny-attribute-table th {
	color: var(--tt-muted);
	font-weight: 500;
	width: 38%;
}

/* ── Review meta / date / author ───────────────────────── */
.tiny-review-meta {
	align-items: center;
	display: flex;
	gap: 14px;
	margin-bottom: 8px;
}

.tiny-review-date {
	color: var(--tt-muted);
	font-size: 13px;
}

.tiny-review-author {
	color: var(--tt-muted);
	font-size: 14px;
	font-weight: 500;
}

/* ── Shipping info ─────────────────────────────────────── */
.tiny-shipping-info ul {
	list-style: none;
	padding: 0;
}

.tiny-shipping-info ul li {
	border-bottom: 1px solid #ebebf0;
	padding: 14px 0;
}

.tiny-shipping-info ul li::before {
	content: '✓ ';
	color: var(--tt-brand);
	font-weight: 500;
}

/* ── WooCommerce review form inside tab ────────────────── */
.tiny-tab-panel .woocommerce-Reviews {
	margin-top: 32px;
}

.tiny-tab-panel #review_form_wrapper {
	margin-top: 24px;
}

.tiny-similar-products {
	padding-bottom: 0;
}

.tt-auth-main {
	align-items: flex-start;
	display: flex;
	justify-content: center;
	min-height: 720px;
	padding: 240px 20px 80px;
}

.tt-auth-card {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 14px 38px rgba(30, 32, 49, 0.11);
	max-width: 580px;
	padding: 36px 42px 44px;
	width: 100%;
}

.tt-auth-head {
	align-items: center;
	border-bottom: 1px solid #d8d9df;
	display: flex;
	gap: 22px;
	margin-bottom: 34px;
	padding-bottom: 28px;
}

.tt-auth-head a {
	font-size: 36px;
	font-weight: 800;
	line-height: 1;
}

.tt-auth-head h1 {
	font-size: 24px;
	margin: 0;
}

.tt-auth-user-icon {
	border: 2px solid var(--tt-ink);
	border-radius: 50%;
	display: block;
	height: 22px;
	position: relative;
	width: 22px;
}

.tt-auth-user-icon::after {
	border: 2px solid var(--tt-ink);
	border-bottom: 0;
	border-radius: 50% 50% 0 0;
	content: "";
	height: 14px;
	left: -9px;
	position: absolute;
	top: 22px;
	width: 36px;
}

.tt-auth-form label {
	align-items: center;
	border: 1px solid #d0d2dc;
	border-radius: 4px;
	display: flex;
	gap: 14px;
	min-height: 64px;
	padding: 0 22px;
}

.tt-auth-form b {
	font-size: 20px;
}

.tt-auth-form input {
	border: 0;
	flex: 1;
	font-size: 20px;
	min-width: 0;
	outline: 0;
}

.tt-auth-form .button {
	font-size: 22px;
	margin-top: 34px;
	min-height: 64px;
	width: 100%;
}

.tt-auth-message {
	color: var(--tt-brand);
	font-size: 14px;
	font-weight: 800;
	min-height: 20px;
	margin: 12px 0 0;
}

/* ── Social login ─────────────────────────────────────── */
.tt-social-login {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 16px;
}

/* Nextend Social Login plugin button override */
.tt-social-login .nsl-container,
.tt-social-login .nsl-container-grid {
	margin: 0;
	width: 100%;
}

.tt-social-login .nsl-button {
	border-radius: 8px;
	font-size: 15px;
	height: 48px;
	justify-content: center;
	width: 100%;
}

/* Fallback manual Google button (when Nextend not installed) */
.tt-google-btn {
	align-items: center;
	background: #fff;
	border: 1.5px solid #dadce0;
	border-radius: 8px;
	color: #3c4043;
	display: flex;
	font-size: 15px;
	font-weight: 600;
	gap: 10px;
	height: 48px;
	justify-content: center;
	text-decoration: none;
	transition: box-shadow 0.2s;
	width: 100%;
}

.tt-google-btn:hover {
	box-shadow: 0 1px 6px rgba(60, 64, 67, 0.24);
	color: #3c4043;
}

.tt-or-divider {
	align-items: center;
	color: #a4a7b2;
	display: flex;
	font-size: 13px;
	gap: 10px;
	margin: 4px 0 16px;
	text-transform: uppercase;
}

.tt-or-divider::before,
.tt-or-divider::after {
	background: #e6e7eb;
	content: '';
	flex: 1;
	height: 1px;
}

/* ── Account popover ──────────────────────────────────── */
.tt-popover-user {
	padding: 12px 16px 8px;
}

.tt-popover-user strong {
	display: block;
	font-size: 15px;
}

.tt-popover-user span {
	color: #6b6f7e;
	font-size: 13px;
}

.tt-popover-nav {
	border-top: 1px solid #f0f0f3;
	display: flex;
	flex-direction: column;
	padding: 4px 0;
}

.tt-popover-nav a {
	align-items: center;
	color: #1c3150;
	display: flex;
	font-size: 14px;
	gap: 8px;
	padding: 10px 16px;
	text-decoration: none;
}

.tt-popover-nav a:hover {
	background: #f5f6f8;
}

.tt-popover-logout {
	color: #d9534f !important;
}

/* ── Login page layout ────────────────────────────────── */
.tt-auth-main {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 80vh;
	padding: 40px 16px;
}

.tt-auth-card {
	background: #fff;
	border-radius: var(--tt-radius, 16px);
	max-width: 440px;
	padding: 40px;
	width: 100%;
}

.tt-auth-brand {
	margin-bottom: 24px;
	text-align: center;
}

.tt-auth-logo {
	height: 44px;
	width: auto;
}

.tt-auth-card h1 {
	font-size: 26px;
	margin: 0 0 6px;
	text-align: center;
}

.tt-auth-sub {
	color: #6b6f7e;
	font-size: 14px;
	margin: 0 0 24px;
	text-align: center;
}

.tt-not-logged-in {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px 0;
	text-align: center;
}

.tt-post-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tt-post-card {
	background: #fff;
	border-radius: var(--tt-radius);
	overflow: hidden;
}

.tt-post-card img {
	aspect-ratio: 1.35;
	object-fit: cover;
	width: 100%;
}

.tt-post-card div {
	padding: 22px;
}

.tt-post-card h2 {
	font-size: 22px;
}

.tt-post-card span {
	color: var(--tt-brand);
	font-weight: 900;
	text-decoration: underline;
}

.logged-in.woocommerce-account .site-main,
.logged-in.woocommerce-account main {
	background: #f5f2f1;
}

.woocommerce-account .page-main {
	background: #f5f2f1;
	padding: 0;
}

.woocommerce-account .page-main > .container,
.woocommerce-account .content-narrow {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

.woocommerce-account .entry-content {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
}

.logged-in.woocommerce-account .woocommerce {
	align-items: start;
	display: grid;
	gap: 32px;
	grid-template-columns: 320px minmax(0, 1fr);
	margin: 0 auto;
	max-width: 1680px;
	padding: 88px 48px 120px;
	width: 100%;
}

/* About page redesign: Figma-aligned, global header/footer preserved. */
body.page-template-about,
body.page-template-page-templatesabout-php {
	max-width: 100vw;
	overflow-x: hidden;
}

.tt-about-page {
	background: #f5f2f1;
	color: #181d27;
	font-family: var(--font-primary);
	overflow: hidden;
	width: 100%;
}

.tt-about-page * {
	min-width: 0;
}

.tt-about-hero {
	background: var(--tt-about-hero-bg, #7886c7);
	min-height: 340px;
	padding: 84px 24px 126px;
	text-align: center;
}

.tt-about-hero__inner {
	left: 50vw;
	margin: 0;
	max-width: 960px;
	position: relative;
	transform: translateX(-50%);
	width: min(960px, calc(100vw - 48px));
}

.tt-about-hero p {
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1;
	margin: 0 0 18px;
	text-transform: uppercase;
}

.tt-about-hero h1 {
	color: #fff;
	font-size: clamp(46px, 4.4vw, 64px);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0 auto;
	max-width: min(940px, calc(100vw - 48px));
	overflow-wrap: anywhere;
}

.tt-about-story-card {
	background: #faf9f7;
	border-radius: 32px;
	box-shadow: 0 24px 70px rgba(24, 29, 39, 0.08);
	left: 50vw;
	margin: -78px 0 82px;
	max-width: 1450px;
	padding: 78px 58px 64px;
	position: relative;
	transform: translateX(-50%);
	width: min(1450px, calc(100vw - 80px));
	z-index: 2;
}

.tt-about-row {
	align-items: center;
	display: grid;
	gap: clamp(44px, 4vw, 72px);
	grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
	margin: 0 auto 64px;
	max-width: 1300px;
}

.tt-about-row--two {
	grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr);
	margin-bottom: 74px;
}

.tt-about-copy {
	color: #111827;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.58;
}

.tt-about-copy p {
	margin: 0;
}

.tt-about-copy strong {
	color: #05070d;
	font-weight: 800;
}

.tt-about-media {
	aspect-ratio: 760 / 436;
	border-radius: 24px;
	margin: 0;
	overflow: hidden;
	width: 100%;
}

.tt-about-image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tt-about-brand-statement {
	margin: 18px auto 72px;
	max-width: 1040px;
	text-align: center;
}

.tt-about-brand-statement h2 {
	color: #737dc0;
	font-size: clamp(30px, 2.45vw, 38px);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.15;
	margin: 0 auto 24px;
	max-width: 880px;
}

.tt-about-brand-statement p {
	color: #181d27;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.58;
	margin: 0 auto;
	max-width: 1040px;
}

.tt-about-brand-statement p + p {
	margin-top: 20px;
}

.tt-about-quote {
	align-items: center;
	background: var(--tt-about-quote-bg, #c9a488);
	border-radius: 24px;
	color: #fff;
	display: grid;
	justify-items: center;
	margin: 0 auto 76px;
	min-height: 145px;
	padding: 32px 24px;
	text-align: center;
	width: min(100%, 1290px);
}

.tt-about-quote svg {
	color: rgba(255, 255, 255, 0.94);
	margin-bottom: 12px;
}

.tt-about-quote blockquote {
	margin: 0;
}

.tt-about-quote p {
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	margin: 0 0 10px;
}

.tt-about-quote cite {
	color: #fff;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
}

.tt-about-mini-brand {
	align-items: center;
	display: grid;
	justify-items: center;
	margin: 0 auto;
	text-align: center;
}

.tt-about-mini-logo {
	height: auto;
	margin: 0 auto 26px;
	max-width: 118px;
	width: 118px;
}

.tt-about-mini-nav {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 18px 34px;
	justify-content: center;
}

.tt-about-mini-nav a {
	color: #181d27;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	transition: color 160ms ease;
}

.tt-about-mini-nav a[aria-current="page"],
.tt-about-mini-nav a:hover,
.tt-about-mini-nav a:focus-visible {
	color: #737dc0;
}

.tt-about-mini-nav a:focus-visible {
	outline: 2px solid rgba(115, 125, 192, 0.45);
	outline-offset: 4px;
}

@media (max-width: 1180px) {
	.tt-about-hero {
		min-height: 300px;
		padding-top: 68px;
	}

	.tt-about-story-card {
		padding: 58px 38px 56px;
		width: calc(100vw - 48px);
	}

	.tt-about-row,
	.tt-about-row--two {
		gap: 34px;
	}

	.tt-about-copy {
		font-size: 16px;
	}
}

@media (max-width: 860px) {
	.tt-about-hero {
		min-height: 270px;
		padding: 56px 22px 104px;
	}

	.tt-about-hero h1 {
		font-size: clamp(34px, 7vw, 44px);
	}

	.tt-about-story-card {
		border-radius: 24px;
		margin-top: -62px;
		padding: 34px 28px 44px;
		width: calc(100vw - 32px);
	}

	.tt-about-row,
	.tt-about-row--two {
		grid-template-columns: 1fr;
		margin-bottom: 34px;
	}

	.tt-about-row--two .tt-about-media {
		order: 1;
	}

	.tt-about-row--two .tt-about-copy {
		order: 2;
	}

	.tt-about-media {
		border-radius: 18px;
	}

	.tt-about-brand-statement {
		margin: 42px auto 44px;
	}

	.tt-about-quote {
		margin-bottom: 48px;
	}
}

@media (max-width: 520px) {
	.tt-about-hero {
		min-height: 238px;
		padding: 42px 18px 92px;
	}

	.tt-about-hero p {
		font-size: 12px;
		margin-bottom: 14px;
	}

	.tt-about-hero h1 {
		font-size: 34px;
		line-height: 1.12;
	}

	.tt-about-story-card {
		border-radius: 18px;
		margin-bottom: 52px;
		padding: 24px 18px 34px;
	}

	.tt-about-row,
	.tt-about-row--two {
		gap: 22px;
	}

	.tt-about-copy {
		font-size: 15px;
		line-height: 1.65;
		overflow-wrap: anywhere;
	}

	.tt-about-media {
		aspect-ratio: 760 / 460;
	}

	.tt-about-brand-statement h2 {
		font-size: 28px;
	}

	.tt-about-brand-statement p {
		font-size: 15px;
	}

	.tt-about-quote {
		border-radius: 18px;
		min-height: 132px;
		padding: 24px 18px;
	}

	.tt-about-mini-logo {
		max-width: 98px;
		width: 98px;
	}

	.tt-about-mini-nav {
		gap: 14px 22px;
	}
}
}

.logged-in.woocommerce-account .woocommerce::before,
.logged-in.woocommerce-account .woocommerce::after {
	content: none;
	display: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	background: #fff;
	border: 1px solid rgba(109, 121, 184, 0.12);
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	padding: 16px;
	position: sticky;
	top: 112px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a {
	align-items: center;
	border-radius: 12px;
	color: #181d27;
	display: flex;
	font-size: 15px;
	font-weight: 500;
	gap: 12px;
	line-height: 1.2;
	padding: 14px 16px;
	text-decoration: none;
	transition: background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover {
	background: rgba(109, 121, 184, 0.1);
	color: #6d79b8;
	transform: translateX(3px);
}

.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
	background: #6d79b8;
	box-shadow: 0 12px 24px rgba(109, 121, 184, 0.26);
	color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
	color: #c9342f;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
	background: rgba(201, 52, 47, 0.08);
	color: #c9342f;
}

.tt-account-nav-icon {
	align-items: center;
	display: inline-flex;
	flex: 0 0 22px;
	justify-content: center;
	width: 22px;
}

.tt-account-nav-icon svg,
.tt-account-card-icon svg {
	fill: none;
	height: 22px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	width: 22px;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard .tt-account-nav-icon svg {
	fill: currentColor;
	stroke: none;
}

.woocommerce-account .woocommerce-MyAccount-content {
	min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-content > p,
.woocommerce-account .woocommerce-MyAccount-content form,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details,
.woocommerce-account .woocommerce-MyAccount-content table.my_account_orders {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	padding: 28px;
}

.woocommerce-account .woocommerce-MyAccount-content table.my_account_orders {
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	display: table;
	overflow: hidden;
	width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-content table.my_account_orders th,
.woocommerce-account .woocommerce-MyAccount-content table.my_account_orders td {
	border-color: rgba(109, 121, 184, 0.14);
	padding: 14px 16px;
}

.woocommerce-account .woocommerce-MyAccount-content input.input-text,
.woocommerce-account .woocommerce-MyAccount-content select,
.woocommerce-account .woocommerce-MyAccount-content textarea {
	background: #fff;
	border: 1px solid rgba(113, 118, 128, 0.35);
	border-radius: 12px;
	min-height: 48px;
	padding: 0 16px;
}

.woocommerce-account .woocommerce-MyAccount-content textarea {
	padding-top: 14px;
}

.woocommerce-account .woocommerce-MyAccount-content .button {
	background: #6d79b8;
	border: 1px solid #6d79b8;
	border-radius: 12px;
	color: #fff;
	font-weight: 800;
	min-height: 48px;
	padding: 12px 22px;
	transition: background 0.2s ease, transform 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-content .button:hover {
	background: #5f69aa;
	transform: translateY(-1px);
}

.tt-account-dashboard {
	display: grid;
	gap: 22px;
}

.tt-account-welcome-card {
	background: linear-gradient(135deg, #fff 0%, #fbf8ff 100%);
	border: 1px solid rgba(109, 121, 184, 0.12);
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	padding: 34px;
	position: relative;
}

.tt-account-welcome-card::after {
	background: rgba(109, 121, 184, 0.1);
	border-radius: 999px;
	content: "";
	height: 180px;
	position: absolute;
	right: -70px;
	top: -82px;
	width: 180px;
}

.tt-account-kicker {
	color: #6d79b8;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0;
	margin: 0 0 10px;
	text-transform: uppercase;
}

.tt-account-welcome-card h2 {
	color: #181d27;
	font-size: 36px;
	font-weight: 800;
	line-height: 1.1;
	margin: 0 0 12px;
	position: relative;
	z-index: 1;
}

.tt-account-welcome-card p:last-child {
	color: #535862;
	font-size: 17px;
	line-height: 1.55;
	margin: 0;
	max-width: 690px;
	position: relative;
	z-index: 1;
}

.tt-account-card-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tt-account-dash-card {
	align-items: flex-start;
	background: #fff;
	border: 1px solid rgba(109, 121, 184, 0.16);
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	color: #181d27;
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-height: 150px;
	padding: 24px;
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.tt-account-dash-card:hover {
	border-color: #6d79b8;
	box-shadow: 0 16px 36px rgba(109, 121, 184, 0.18);
	transform: translateY(-4px);
}

.tt-account-card-icon {
	align-items: center;
	background: rgba(109, 121, 184, 0.12);
	border-radius: 16px;
	color: #6d79b8;
	display: inline-flex;
	flex: 0 0 54px;
	height: 54px;
	justify-content: center;
	width: 54px;
}

.tt-account-card-icon svg {
	height: 26px;
	width: 26px;
}

.tt-account-dash-card strong {
	color: #181d27;
	display: block;
	font-size: 19px;
	font-weight: 800;
	margin: 2px 0 8px;
}

.tt-account-dash-card small {
	color: #535862;
	display: block;
	font-size: 14px;
	line-height: 1.5;
}

@media (max-width: 980px) {
	.logged-in.woocommerce-account .woocommerce {
		gap: 24px;
		grid-template-columns: 1fr;
		padding: 56px 24px 88px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		overflow-x: auto;
		padding: 12px;
		position: static;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		gap: 10px;
		min-width: max-content;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation-link a {
		white-space: nowrap;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover {
		transform: none;
	}

	.tt-account-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.logged-in.woocommerce-account .woocommerce {
		padding: 40px 16px 72px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		min-width: 0;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation-link a {
		font-size: 13px;
		gap: 8px;
		justify-content: flex-start;
		min-height: 54px;
		padding: 12px;
		white-space: normal;
	}

	.tt-account-welcome-card {
		padding: 26px;
	}

	.tt-account-welcome-card h2 {
		font-size: 28px;
	}

	.tt-account-welcome-card p:last-child {
		font-size: 15px;
	}

	.tt-account-card-grid {
		grid-template-columns: 1fr;
	}

	.tt-account-dash-card {
		min-height: 0;
		padding: 20px;
	}

	.woocommerce-account .woocommerce-MyAccount-content > p,
	.woocommerce-account .woocommerce-MyAccount-content form,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details,
	.woocommerce-account .woocommerce-MyAccount-content table.my_account_orders {
		padding: 20px;
	}
}

.tt-wishlist-page-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tt-wishlist-card {
	background: #fff;
	border-radius: 8px;
	padding: 18px;
}

.tt-wishlist-card img {
	aspect-ratio: 1;
	background: #d1d1d1;
	object-fit: cover;
	width: 100%;
}

.tt-wishlist-card h2 {
	font-size: 22px;
	margin-top: 18px;
}

.tt-wishlist-card span {
	color: var(--tt-muted);
	display: inline-block;
	font-size: 18px;
	font-weight: 900;
	margin-top: 12px;
	text-decoration: underline;
}

body.tt-modal-open {
	overflow: hidden;
}

	@media (max-width: 1024px) {
		.hero-slider,
		.tiny-hero,
		.hero-slider__track,
		.hero-slide,
		.tiny-hero__slide,
		.hero-section {
			height: 620px;
			min-height: 620px;
		}

		.hero-slider__track,
		.hero-grid {
			min-height: 620px;
		}

		.hero-grid,
		.tiny-hero__content {
			left: 40px;
			top: 160px;
			width: 560px;
		}

		.hero-copy {
			padding-left: 0;
		}

		.hero-copy h1,
		.tiny-hero__title {
			font-size: 44px;
		}

		.hero-text,
		.tiny-hero__text {
			font-size: 20px;
		}

	.woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.featured-products:not(.home-best-sellers) .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.category-grid {
		grid-template-columns: repeat(2, minmax(0, 580px));
	}

	.tiny-benefits {
		height: auto;
		min-height: 448px;
		padding: 42px 0 170px;
	}

	.tiny-benefits__inner {
		display: grid;
		gap: 34px 28px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		height: auto;
		margin-top: 0;
		width: calc(100% - 64px);
	}

	.tiny-benefit {
		height: auto;
		justify-self: center;
		max-width: 299px;
		width: 100%;
	}

	.tiny-clouds {
		height: 150px;
	}

	.feature-band__inner,
	.checkout-grid,
	.woocommerce div.product,
	.tiny-product-layout {
		grid-template-columns: 1fr;
	}

	.feature-band {
		height: auto;
		overflow: hidden;
		padding: 56px 0 64px;
	}

	.feature-band > .container.feature-band__inner {
		flex-direction: column;
		gap: 42px;
		height: auto;
		max-width: 760px;
		padding: 0 34px;
	}

	.feature-band__content {
		flex: 0 1 auto;
		height: auto;
		padding: 0;
		width: 100%;
	}

	.feature-band__image-wrap {
		aspect-ratio: 705 / 901;
		flex: 0 1 auto;
		height: auto;
		min-height: 0;
		order: 0;
		width: min(100%, 520px);
	}

	.feature-band__image-wrap img,
	.feature-band__inner img {
		height: 100%;
		width: 100%;
	}

	.feature-band .eyebrow,
	.feature-band__content h2,
	.feature-band__desc,
	.feature-band__inner p.feature-band__desc {
		margin-left: 0;
	}

	.feature-band__desc,
	.feature-band__inner p.feature-band__desc,
	.feature-list,
	.feature-tags {
		height: auto;
		width: 100%;
	}

	.feature-tags {
		gap: 24px;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin: 54px 0 0;
	}

	.category-section {
		padding: 60px 0 68px;
	}

	.testimonial-section {
		padding-top: 64px;
		padding-bottom: 72px;
	}

	.tiny-product-gallery {
		grid-template-columns: 90px 1fr;
	}
}

@media (max-width: 820px) {
	/* About page — single column on tablet/mobile */
	.about-split__inner,
	.about-split--image-first .about-split__inner {
		gap: 40px;
		grid-template-columns: 1fr;
	}

	.about-split + .about-split {
		margin-top: 56px;
	}

	.about-canvas {
		padding: 64px 0 72px;
	}

	/* Image stacks above text on mobile */
	.about-split--text-first .about-split__media {
		order: -1;
	}

	.about-img {
		max-height: 320px;
	}

	.about-brand {
		padding: 64px 0 72px;
	}

	.container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.header-inner {
		gap: 10px;
		grid-template-columns: auto 1fr auto;
		height: 70px;
		min-height: 70px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.tiny-header-divider {
		width: calc(100% - 40px);
	}

	.site-search {
		display: none;
	}

	.site-logo-text {
		font-size: 25px;
	}

	.header-actions {
		gap: 16px;
	}

	.nav-toggle {
		display: block;
	}

	.nav-row {
		min-height: 0;
	}

	.primary-nav {
		background: #fff;
		border-bottom: 1px solid var(--tt-line);
		box-shadow: 0 14px 28px rgba(30, 32, 49, 0.12);
		left: 0;
		opacity: 0;
		pointer-events: none;
		position: absolute;
		right: 0;
		top: 100%;
		transform: translateY(-8px);
		transition: opacity 160ms ease, transform 160ms ease;
	}

	.primary-nav.is-open {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	.primary-nav ul {
		align-items: stretch;
		flex-direction: column;
		gap: 0;
		padding: 12px 24px 18px;
	}

	.primary-nav a {
		padding: 12px 0;
	}

		.hero-arrow {
			height: 36px;
		width: 36px;
		font-size: 22px;
	}

	.hero-arrow--prev {
		left: 12px;
	}

	.hero-arrow--next {
		right: 12px;
	}

		.hero-copy {
			max-width: 360px;
			padding-left: 0;
		}

	.tiny-benefits {
		padding-bottom: 140px;
	}

	.tiny-benefits__inner {
		gap: 28px 18px;
		width: calc(100% - 40px);
	}

	.tiny-benefit__icon {
		height: 82px;
		margin-bottom: 14px;
		width: 82px;
	}

	.tiny-benefit__title {
		font-size: 20px;
	}

	.tiny-benefit__subtitle {
		font-size: 15px;
	}

	.category-grid {
		grid-template-columns: repeat(2, minmax(0, 580px));
	}

	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.footer-inner {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.tiny-cart .coupon {
		float: none;
		margin-bottom: 12px;
		width: 100%;
	}

	.tiny-product-gallery {
		grid-template-columns: 1fr;
	}

	.tiny-product-thumbs {
		display: flex;
		order: 2;
		overflow-x: auto;
	}

	.tiny-thumb {
		flex: 0 0 92px;
	}

	.size-options {
		grid-template-columns: repeat(2, 1fr);
	}

	.tt-cart-panel {
		left: 20px;
		max-width: none;
		right: 20px;
	}

	.tt-post-grid,
	.tt-account-grid,
	.tt-wishlist-page-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tt-drawer-item {
		grid-template-columns: 128px minmax(0, 1fr);
	}

	.tt-drawer-price {
		grid-column: 2;
		text-align: left;
	}
}

@media (max-width: 560px) {
	/* About page */
	.about-canvas {
		padding: 48px 0 56px;
	}

	.about-split + .about-split {
		margin-top: 44px;
	}

	.about-brand {
		padding: 52px 0 60px;
	}

	.about-brand__heading {
		font-size: 24px;
		letter-spacing: 0;
	}

	.about-brand__desc {
		font-size: 14px;
	}

	h1 {
		font-size: 28px;
	}

	.header-inner {
		gap: 6px;
	}

	.site-header .site-branding img,
	.site-header .site-logo-text img {
		height: 44px !important;
		max-height: 44px !important;
	}

	.header-icon,
	.header-cart {
		width: 24px;
	}

		.hero-slider,
		.tiny-hero,
		.hero-slider__track,
		.hero-slide,
		.tiny-hero__slide,
		.hero-section {
			height: 520px;
			min-height: 520px;
		}

		.hero-slide,
		.tiny-hero__slide,
		.hero-section {
			background-position: 62% center;
		}

	.hero-arrow {
		display: none;
	}

		.hero-copy {
			max-width: none;
		}

		.hero-grid,
		.tiny-hero__content {
			left: 20px;
			max-width: calc(100% - 40px);
			top: 120px;
			width: calc(100% - 40px);
		}

		.hero-copy h1,
		.tiny-hero__title {
			font-size: 32px;
			line-height: 1.12;
		}

	.section-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

		.hero-text,
		.tiny-hero__text {
			font-size: 16px;
		}

		.hero-btn,
		.tiny-hero__btn {
			height: 48px;
			padding: 14px 24px;
			width: 180px;
		}

		.hero-dots,
		.tiny-hero__dots {
			bottom: 28px;
			gap: 12px;
		}

		.hero-dot,
		.tiny-hero__dot {
			width: 58px;
		}

	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	.tiny-benefits {
		padding: 34px 0 122px;
	}

	.tiny-benefits__inner {
		grid-template-columns: 1fr;
		width: calc(100% - 32px);
	}

	.tiny-clouds {
		height: 118px;
	}

	.tiny-clouds .cloud-layer {
		min-width: 1420px;
		width: 210%;
	}

	.tiny-clouds .cloud-layer-1 {
		bottom: 34px;
	}

	.tiny-clouds .cloud-layer-2 {
		bottom: -20px;
	}

	.category-grid {
		grid-template-columns: minmax(0, 580px);
	}

	.section-pad {
		padding: 52px 0;
	}

	.category-section {
		padding: 48px 0 56px;
	}

	.testimonial-section {
		padding-top: 52px;
		padding-bottom: 60px;
	}

	.feature-band__content {
		padding: 0;
	}

	.feature-band {
		padding: 44px 0 52px;
	}

	.feature-band > .container.feature-band__inner {
		padding: 0 22px;
	}

	.feature-band .eyebrow {
		font-size: 13px;
		line-height: 17px;
		margin-bottom: 22px;
	}

	.feature-band__content h2 {
		font-size: 30px;
		line-height: 38px;
		margin-bottom: 14px;
	}

	.feature-band__desc,
	.feature-band__inner p.feature-band__desc {
		font-size: 20px;
		line-height: 31px;
		margin-bottom: 30px;
	}

	.feature-list {
		font-size: 19px;
		gap: 22px;
		line-height: 29px;
	}

	.feature-list li {
		align-items: flex-start;
		height: auto;
	}

	.feature-list__check {
		margin-top: 4px;
	}

	.feature-tags {
		gap: 12px;
	}

	.feature-tags span,
	.tiny-way__tab {
		font-size: 11px;
		height: 34px;
		line-height: 14px;
		padding-bottom: 8px;
	}

	.testimonial-inner::before,
	.testimonial-inner::after {
		display: none;
	}

	.testimonial-slider {
		grid-template-columns: 32px minmax(0, 1fr) 32px;
		gap: 8px;
	}

	.testimonial-card {
		padding: 20px;
	}

	.tiny-cart .coupon {
		flex-direction: column;
	}

	.tiny-product-main {
		padding-top: 44px;
	}

	.tiny-product-image {
		min-height: 360px;
	}

	.purchase-options {
		flex-direction: column;
		gap: 22px;
	}

	.tt-quick-view,
	.tt-cart-panel,
	.tt-drawer,
	.tt-checkout-flow {
		border-radius: 0;
		inset: 0;
		margin: 0;
		overflow-y: auto;
		padding: 24px;
		width: auto;
	}

	.tt-quick-view {
		background: #f5f2f1;
		box-shadow: none;
		inset: 0;
		max-width: 100vw;
		overflow-x: hidden;
		padding: 24px 24px 192px;
		width: 100vw;
	}

	.tt-quick-view h2 {
		font-size: 30px;
		height: 38px;
		line-height: 38px;
		margin-bottom: 16px;
		width: auto;
	}

	.tt-quick-view .tt-modal-close {
		right: 24px;
		top: 26px;
	}

	.tt-quick-view .tt-modal-line,
	.tt-qv-desc,
	.tt-quick-view .option-head {
		max-width: calc(100vw - 48px);
		width: 100%;
	}

	.tt-qv-top {
		grid-template-columns: 1fr;
	}

	.tt-qv-image {
		justify-self: center;
	}

	.tt-qv-summary {
		text-align: left;
	}

	.tt-modal-actions,
	.tt-continue,
	.tt-checkout-button,
	.tt-real-wishlist-link {
		bottom: 24px;
		left: 24px;
		position: fixed;
		right: 24px;
		width: auto;
	}

	.tt-quick-view .tt-modal-actions {
		background: #f5f2f1;
		bottom: auto;
		left: auto;
		margin-top: 48px;
		padding: 0;
		position: static;
		right: auto;
		width: auto;
	}

	.tt-quick-view .option-head {
		font-size: 18px;
		gap: 14px;
	}

	.tt-quick-view .size-guide {
		font-size: 18px;
		white-space: nowrap;
	}

	.tt-quick-view .size-options {
		display: grid;
		gap: 12px;
		grid-template-columns: 1fr;
		max-width: calc(100vw - 48px);
		width: 100%;
	}

	.tt-quick-view .size-pill {
		width: auto;
	}

	.tt-drawer h2 {
		font-size: 32px;
	}

	.tt-drawer-list {
		padding-bottom: 210px;
	}

	.tt-drawer-item,
	.tt-wishlist-drawer .tt-drawer-item {
		grid-template-columns: 140px 1fr;
		padding: 16px;
	}

	.tt-drawer-item .product-heart {
		position: absolute;
		right: 18px;
		top: 18px;
	}

	.tt-drawer-total {
		bottom: 106px;
		padding: 24px;
		position: fixed;
	}

	.tt-side-cart {
		background: #f5f2f1;
		inset: 0;
		max-width: 100vw;
		overflow-x: hidden;
		padding: 24px 24px 216px;
		width: 100vw;
	}

	.tt-side-cart .tt-modal-close {
		right: 24px;
		top: 24px;
	}

	.tt-side-cart h2 {
		font-size: 22px;
		line-height: 30px;
		margin-bottom: 16px;
	}

	.tt-side-cart .tt-modal-line {
		margin-bottom: 24px;
		max-width: calc(100vw - 48px);
		width: 100%;
	}

	.tt-side-cart .tt-drawer-list {
		gap: 18px;
		padding: 0;
	}

	.tt-side-cart .tt-drawer-item {
		height: auto;
		min-height: 245px;
		max-width: calc(100vw - 48px);
		padding: 16px;
		width: 100%;
	}

	.tt-side-cart .tt-drawer-item__image {
		height: 112px;
		width: 112px;
	}

	.tt-side-cart .tt-drawer-item h3 {
		font-size: 18px;
		left: 140px;
		width: calc(100% - 222px);
	}

	.tt-side-cart .tt-drawer-price {
		font-size: 18px;
		width: 72px;
	}

	.tt-side-cart .tt-drawer-price del {
		font-size: 15px;
	}

	.tt-side-cart .tt-drawer-meta {
		align-items: flex-start;
		flex-direction: column;
		font-size: 15px;
		gap: 8px;
		left: 140px;
		top: 74px;
	}

	.tt-side-cart .tt-drawer-item label {
		top: 138px;
	}

	.tt-side-cart .tt-drawer-actions {
		top: 162px;
	}

	.tt-side-cart .tt-view-details {
		font-size: 17px;
	}

	.tt-side-cart .tt-drawer-total {
		bottom: 0;
		height: auto;
		left: 0;
		padding: 24px;
		right: 0;
		width: 100vw;
	}

	.tt-side-cart .tt-drawer-total__row > span,
	.tt-side-cart .tt-total-price {
		font-size: 20px;
		line-height: 28px;
	}

	.tt-side-cart .tt-savings-note {
		font-size: 16px;
		line-height: 20px;
		margin-bottom: 16px;
	}

	.tt-side-cart .tt-checkout-button {
		width: 100%;
	}

	.two-col,
	.tt-qr-card,
	.tt-post-grid,
	.tt-account-grid,
	.tt-wishlist-page-grid {
		grid-template-columns: 1fr;
	}

	.tt-checkout-flow {
		width: auto;
	}

	.tt-bottom-sheet {
		position: fixed;
	}

	.tt-account-popover {
		left: 20px;
		right: 20px;
		top: 86px;
		width: auto;
	}
}

/* Final PDP pass: keep Figma dimensions above older WooCommerce rules. */
.single-product .site-main.tiny-product-main {
	background: #fff;
	font-family: var(--font-primary);
	padding: 44px 0 0;
}

.single-product .tiny-product-main > .container,
.single-product .site-main.tiny-product-main > .container {
	background: #fff;
	max-width: 1733px;
	padding-left: 67px;
	padding-right: 67px;
}

.single-product .tiny-product-breadcrumb {
	color: #717680;
	font-family: var(--font-primary);
	font-size: 16px;
	font-weight: 400;
	gap: 10px;
	line-height: 25px;
	margin: 0 0 35px;
	max-width: 417px;
}

.single-product .tiny-product-breadcrumb a {
	color: #717680;
}

.single-product .tiny-product-layout {
	align-items: start;
	gap: 76px;
	grid-template-columns: 912px minmax(0, 754px);
}

.single-product .tiny-product-gallery {
	gap: 24px;
	grid-template-columns: 128px 784px;
	width: 936px;
}

.single-product .tiny-product-thumbs {
	gap: 22px;
}

.single-product .tiny-thumb {
	background: #f5f2f1;
	border: 1px solid transparent;
	height: 128px;
	width: 128px;
}

.single-product .tiny-thumb.is-active,
.single-product .tiny-thumb:hover {
	border-color: var(--tt-brand);
}

.single-product .tiny-thumb img {
	object-fit: contain;
}

.single-product .tiny-product-image {
	background: #f5f2f1;
	height: 704px;
	min-height: 704px;
	width: 784px;
}

.single-product .tiny-product-image > img {
	object-fit: contain;
}

.single-product .tiny-product-heart {
	height: 48px;
	right: 24px;
	top: 24px;
	width: 48px;
}

.single-product .tiny-product-heart::before {
	font-size: 29px;
	line-height: 48px;
}

.single-product .zoom-controls {
	bottom: 24px;
	display: grid;
	height: 88px;
	left: 24px;
	position: absolute;
	width: 44px;
	z-index: 3;
}

.single-product .zoom-controls button {
	align-items: center;
	background: #fff;
	border: 1px solid #717680;
	color: #717680;
	cursor: pointer;
	display: flex;
	font-size: 20px;
	height: 44px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	width: 44px;
}

.single-product .zoom-controls button:first-child {
	border-radius: 6px 6px 0 0;
}

.single-product .zoom-controls button:last-child {
	border-radius: 0 0 6px 6px;
	border-top: 0;
}

.single-product .tiny-product-summary,
.single-product .tiny-cart-form,
.single-product .option-row,
.single-product .tiny-product-summary hr,
.single-product .size-options,
.single-product .tiny-variation-form .tt-variation-buttons,
.single-product .tiny-cart-form .button,
.single-product .tiny-variation-form .single_add_to_cart_button {
	width: 754px;
}

.single-product .tiny-product-summary {
	padding-top: 0;
}

.single-product .tiny-rating {
	align-items: center;
	color: #414651;
	display: flex;
	font-size: 20px;
	font-weight: 400;
	gap: 10px;
	height: 30px;
	line-height: 30px;
	margin: 0 0 16px;
	width: 228px;
}

.single-product .tiny-rating span {
	color: #ffc633;
	font-size: 23px;
}

.single-product .tiny-product-summary h1 {
	color: #181d27;
	font-size: 36px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 100%;
	margin: 0 0 20px;
	max-width: 400px;
}

.single-product .tiny-price,
.single-product .tiny-product-summary .price {
	align-items: baseline;
	color: #000;
	display: inline-flex;
	flex-wrap: wrap;
	font-size: 30px;
	font-weight: 500;
	gap: 14px;
	line-height: 45px;
	min-height: 45px;
}

.single-product .tiny-price del,
.single-product .tiny-product-summary del {
	color: #a4a7ae;
	font-size: 30px;
	font-weight: 400;
	margin: 0;
	opacity: 1;
}

.single-product .tiny-discount {
	color: var(--tt-brand);
	font-size: 30px;
	font-weight: 400;
	line-height: 45px;
}

.single-product .tiny-product-summary hr {
	border-top: 1px solid #a4a7ae;
	margin: 24px 0;
}

.single-product .option-head,
.single-product .tiny-variation-form table.variations th.label {
	color: #414651;
	font-size: 20px;
	font-weight: 400;
	height: 30px;
	line-height: 30px;
	margin: 0 0 20px;
}

.single-product .size-guide {
	align-items: center;
	color: #15769e;
	display: inline-flex;
	font-size: 20px;
	font-weight: 500;
	gap: 10px;
	text-decoration: none;
}

.single-product .size-guide::before {
	border: 2px solid currentColor;
	border-radius: 2px;
	content: "";
	height: 10px;
	width: 24px;
}

.single-product .size-options,
.single-product .tiny-variation-form .tt-variation-buttons {
	gap: 16px;
	grid-template-columns: repeat(5, 1fr);
}

.single-product .size-pill,
.single-product .tt-variation-option {
	border: 1px solid #717680;
	border-radius: 8px;
	color: #717680;
	font-size: 26px;
	font-weight: 400;
	height: 66px;
	padding: 0 16px;
	white-space: nowrap;
}

.single-product .size-pill.is-selected,
.single-product .tt-variation-option.is-selected {
	border-color: var(--tt-brand);
	box-shadow: 0 0 0 1px var(--tt-brand);
	color: var(--tt-brand);
}

.single-product .purchase-options {
	gap: 36px;
	margin: 0 0 34px;
}

.single-product .purchase-options label {
	color: #414651;
	font-size: 20px;
	font-weight: 400;
	line-height: 30px;
	margin: 0 0 16px;
}

.single-product .purchase-options .option-row--colour {
	margin: 0;
	width: auto;
}

.single-product .purchase-options .option-row--colour .option-head {
	justify-content: flex-start;
	width: auto;
}

.single-product .tiny-cart-form .quantity {
	align-items: center;
	border: 1px solid #717680;
	border-radius: 8px;
	display: inline-flex;
	height: 66px;
	justify-content: center;
	margin: 0;
	padding: 0 14px;
	width: 150px;
}

.single-product .tiny-cart-form .quantity .qty {
	border: 0;
	font-size: 22px;
	height: 64px;
	min-height: 0;
	padding: 0;
	width: 62px;
}

.single-product .pdp-qty-button {
	align-items: center;
	background: transparent;
	border: 1px solid #717680;
	border-radius: 999px;
	color: #717680;
	cursor: pointer;
	display: inline-flex;
	font-size: 22px;
	height: 24px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	width: 24px;
}

.single-product .colour-options {
	gap: 16px;
}

.single-product .colour-swatch {
	border-radius: 8px;
	height: 66px;
	width: 66px;
}

.single-product .tiny-cart-form .button,
.single-product .tiny-variation-form .single_add_to_cart_button {
	border-radius: 8px;
	font-size: 20px;
	font-weight: 600;
	height: 68px;
	min-height: 68px;
}

.single-product .tiny-cart-form .tiny-buy-now {
	background: var(--tt-brand);
	border: 1px solid var(--tt-brand);
	color: #fff;
	margin: 8px 0 24px;
}

.single-product .tiny-cart-form .tiny-add-cart,
.single-product .tiny-variation-form .single_add_to_cart_button {
	background: #fff !important;
	border: 1px solid var(--tt-brand) !important;
	color: var(--tt-brand) !important;
	margin: 0;
}

.single-product .tiny-product-tabs {
	margin: 150px auto 0;
	max-width: 944px;
}

.single-product .tiny-tab-nav {
	border-bottom: 1px solid #e3e4e8;
	gap: 0;
	justify-content: space-between;
	margin: 0 0 44px;
	width: 944px;
}

.single-product .tiny-tab-nav a {
	color: #717680;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 44px;
	padding: 0;
}

.single-product .tiny-tab-nav a.is-active {
	border-bottom: 3px solid #181d27;
	color: #181d27;
	font-weight: 500;
}

.single-product .tiny-review-list {
	gap: 30px;
	justify-items: center;
}

.single-product .tiny-review-card {
	background: #fff;
	min-height: 216px;
	padding: 34px;
	width: 944px;
}

.single-product .tiny-review-card .stars {
	color: #ffc633;
	font-size: 28px;
	letter-spacing: 7px;
}
.show-password-input{
	display: none !important;
}
.single-product .tiny-review-card p {
	color: #414651;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.35;
	margin: 18px 0 14px;
}

.single-product .tiny-review-images {
	gap: 18px;
	grid-template-columns: repeat(4, 204px);
	margin-top: 44px;
}

.single-product .tiny-review-images figure {
	background: #d5d5d5;
	height: 204px;
	margin: 0;
	overflow: hidden;
	position: relative;
	width: 204px;
}

.single-product .tiny-review-images img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.single-product .tiny-review-images figure span {
	align-items: center;
	background: rgba(0, 0, 0, 0.33);
	color: #fff;
	display: flex;
	font-size: 36px;
	inset: 0;
	justify-content: center;
	position: absolute;
}

.single-product .tiny-comments-button {
	border: 1px solid #717680;
	border-radius: 8px;
	font-size: 16px;
	height: 48px;
	min-width: 315px;
}

.single-product .tiny-similar-products {
	background: #f5f5f5;
	margin: 120px -67px 0;
	min-height: 775px;
	padding: 89px 93px 96px;
}

.single-product .tiny-similar-products .section-heading {
	margin: 0 0 44px;
}

.single-product .tiny-similar-products .section-heading h2 {
	color: #181d27;
	font-size: 40px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 50px;
	margin: 0;
}

.single-product .tiny-similar-products .section-heading a {
	border-radius: 40px;
	color: var(--tt-brand);
	font-size: 18px;
	font-weight: 600;
	height: 68px;
	padding: 18px 32px;
	text-decoration: underline;
}

.single-product .tiny-similar-products .related.products {
	margin: 0;
}

.single-product .tiny-similar-products .related.products > h2 {
	display: none;
}

.single-product .tiny-similar-products ul.products {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
}

.single-product .tiny-similar-products ul.products li.product {
	margin: 0 !important;
	width: auto !important;
}

.single-product .tiny-similar-products ul.products li.product .product-image-wrap {
	aspect-ratio: 415 / 415;
}

@media (max-width: 1800px) {
	.single-product .site-main.tiny-product-main > .container {
		max-width: 1440px;
		padding-left: 64px;
		padding-right: 64px;
	}

	.single-product .tiny-product-layout {
		gap: 48px;
		grid-template-columns: minmax(0, 1fr) minmax(420px, 0.8fr);
	}

	.single-product .tiny-product-gallery {
		grid-template-columns: 96px minmax(0, 1fr);
		width: 100%;
	}

	.single-product .tiny-thumb {
		height: 96px;
		width: 96px;
	}

	.single-product .tiny-product-image {
		aspect-ratio: 784 / 704;
		height: auto;
		min-height: 0;
		width: 100%;
	}

	.single-product .tiny-product-summary,
	.single-product .tiny-cart-form,
	.single-product .option-row,
	.single-product .tiny-product-summary hr,
	.single-product .size-options,
	.single-product .tiny-variation-form .tt-variation-buttons,
	.single-product .tiny-cart-form .button,
	.single-product .tiny-variation-form .single_add_to_cart_button {
		width: 100%;
	}

	.single-product .size-options,
	.single-product .tiny-variation-form .tt-variation-buttons {
		gap: 12px;
	}

	.single-product .size-pill,
	.single-product .tt-variation-option {
		font-size: 20px;
		height: 58px;
		padding: 0 6px;
	}

	.single-product .tiny-product-summary h1 {
		font-size: 32px;
	}

	.single-product .tiny-price,
	.single-product .tiny-product-summary .price,
	.single-product .tiny-price del,
	.single-product .tiny-product-summary del,
	.single-product .tiny-discount {
		font-size: 26px;
	}
}

@media (max-width: 1180px) {
	.single-product .tiny-product-layout {
		grid-template-columns: 1fr;
	}

	.single-product .tiny-product-summary {
		max-width: 754px;
	}

	.single-product .tiny-product-tabs,
	.single-product .tiny-tab-nav,
	.single-product .tiny-review-card {
		max-width: 100%;
		width: 100%;
	}

	.single-product .tiny-review-images {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		width: 100%;
	}

	.single-product .tiny-review-images figure {
		aspect-ratio: 1;
		height: auto;
		width: 100%;
	}

	.single-product .tiny-similar-products ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	.single-product .site-main.tiny-product-main > .container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.single-product .tiny-product-gallery {
		display: flex;
		flex-direction: column;
		gap: 14px;
	}

	.single-product .tiny-product-image {
		order: 1;
	}

	.single-product .tiny-product-thumbs {
		display: flex;
		gap: 12px;
		order: 2;
		overflow-x: auto;
	}

	.single-product .tiny-thumb {
		flex: 0 0 84px;
		height: 84px;
		width: 84px;
	}

	.single-product .size-options,
	.single-product .tiny-variation-form .tt-variation-buttons {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.single-product .tiny-tab-nav {
		gap: 26px;
		justify-content: flex-start;
		overflow-x: auto;
	}

	.single-product .tiny-similar-products {
		margin-left: -20px;
		margin-right: -20px;
		min-height: 0;
		padding: 56px 20px 68px;
	}

	.single-product .tiny-similar-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.single-product .tiny-product-summary,
	.single-product .tiny-cart-form,
	.single-product .option-row,
	.single-product .tiny-product-summary hr,
	.single-product .size-options,
	.single-product .tiny-variation-form .tt-variation-buttons,
	.single-product .tiny-cart-form .button,
	.single-product .tiny-variation-form .single_add_to_cart_button,
	.single-product .tiny-product-tabs,
	.single-product .tiny-tab-nav,
	.single-product .tiny-review-card {
		max-width: 90vw !important;
		width: 90vw !important;
	}

	.single-product .size-options,
	.single-product .tiny-variation-form .tt-variation-buttons {
		grid-template-columns: 1fr !important;
	}

	.single-product .size-pill,
	.single-product .tt-variation-option {
		min-width: 0;
		width: 100%;
	}

	.single-product .tiny-review-images {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		max-width: 100%;
	}

	.single-product .tiny-similar-products ul.products {
		grid-template-columns: 1fr;
	}
}

/* PDP Figma pixel-close cascade lock. */
.single-product .site-main.tiny-product-main {
	background: #fff;
	padding: 55px 0 0;
}

.single-product .site-main.tiny-product-main > .container {
	max-width: 1802px;
	padding-left: 0;
	padding-right: 0;
	width: calc(100% - 120px);
}

.single-product .tiny-product-breadcrumb {
	color: #717680;
	font-size: 16px;
	line-height: 24px;
	margin: 0 0 38px;
}

.single-product .tiny-product-layout {
	align-items: start;
	display: grid !important;
	gap: 64px;
	grid-template-columns: 936px 754px;
	justify-content: start;
}

.single-product .tiny-product-gallery {
	display: grid !important;
	gap: 24px;
	grid-template-columns: 128px 784px;
	width: 936px;
}

.single-product .tiny-product-thumbs {
	display: grid !important;
	gap: 24px;
	grid-auto-rows: 128px;
	order: initial !important;
	overflow: visible !important;
}

.single-product .tiny-thumb {
	background: #d9d9d9 !important;
	border: 1px solid transparent;
	height: 128px !important;
	padding: 0;
	width: 128px !important;
}

.single-product .tiny-product-image {
	background: #d9d9d9 !important;
	height: 704px !important;
	min-height: 704px !important;
	width: 784px !important;
}

.single-product .tiny-product-image > img,
.single-product .tiny-thumb img {
	object-fit: contain;
}

.single-product .tiny-product-heart {
	height: 56px;
	right: 28px;
	top: 28px;
	width: 56px;
}

.single-product .zoom-controls {
	bottom: 28px;
	left: 28px;
}

.single-product .tiny-product-summary {
	padding-top: 6px;
	width: 754px;
}

.single-product .tiny-rating {
	font-size: 20px;
	height: 30px;
	line-height: 30px;
	margin: 0 0 16px;
	width: auto;
}

.single-product .tiny-product-summary h1 {
	font-size: 36px;
	font-weight: 500;
	line-height: 1.12;
	margin: 0 0 18px;
	max-width: 754px;
}

.single-product .tiny-price,
.single-product .tiny-product-summary .price,
.single-product .tiny-price del,
.single-product .tiny-product-summary del,
.single-product .tiny-discount {
	font-size: 30px;
	line-height: 45px;
}

.single-product .tiny-product-summary hr {
	margin: 24px 0 28px;
	width: 754px;
}

.single-product .tiny-cart-form,
.single-product .option-row,
.single-product .size-options,
.single-product .tiny-cart-form .button,
.single-product .tiny-variation-form .tt-variation-options,
.single-product .tiny-variation-form .tt-variation-buttons,
.single-product .tiny-variation-form .tiny-buy-now,
.single-product .tiny-variation-form .single_add_to_cart_button {
	max-width: 754px !important;
	width: 754px !important;
}

.single-product .option-row {
	margin-bottom: 26px;
}

.single-product .option-head,
.single-product .tiny-variation-form table.variations th.label {
	font-size: 20px;
	font-weight: 600;
	line-height: 30px;
	margin-bottom: 18px;
}

.single-product .size-options,
.single-product .tiny-variation-form .tt-variation-buttons.size-options {
	gap: 16px;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.single-product .size-pill,
.single-product .tt-variation-option {
	font-size: 22px;
	height: 66px;
}

.single-product .purchase-options {
	align-items: start;
	display: flex;
	gap: 36px;
	margin: 0 0 34px;
}

.single-product .tiny-cart-form .quantity,
.single-product .tiny-variation-form .quantity {
	height: 66px;
	width: 150px;
}

.single-product .colour-swatch {
	height: 66px;
	width: 66px;
}

.single-product .tiny-cart-form .button,
.single-product .tiny-variation-form .single_add_to_cart_button,
.single-product .tiny-variation-form .tiny-buy-now {
	border-radius: 8px;
	font-size: 18px;
	font-weight: 600;
	height: 66px;
	margin-left: 0;
	min-height: 66px;
}

.single-product .tiny-cart-form .tiny-buy-now,
.single-product .tiny-variation-form .tiny-buy-now {
	background: #6d79b8 !important;
	border-color: #6d79b8 !important;
	color: #fff !important;
	margin: 4px 0 24px;
}

.single-product .tiny-cart-form .tiny-add-cart,
.single-product .tiny-variation-form .single_add_to_cart_button {
	background: #fff !important;
	border-color: #6d79b8 !important;
	color: #6d79b8 !important;
}

.single-product .tiny-product-tabs {
	margin: 178px auto 0;
	max-width: 960px;
	width: 960px;
}

.single-product .tiny-tab-nav {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: 0 auto 48px;
	width: 960px;
}

.single-product .tiny-tab-nav a {
	font-size: 16px;
	font-weight: 600;
	line-height: 48px;
	text-align: center;
}

.single-product .tiny-review-list {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 36px;
}

.single-product .tiny-review-card {
	background: #fff;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
	min-height: 0;
	padding: 0;
	width: 754px;
}

.single-product .tiny-review-card .stars {
	font-size: 24px;
	letter-spacing: 8px;
}

.single-product .tiny-review-card p {
	font-size: 16px;
	line-height: 1.45;
	margin: 18px 0 12px;
}

.single-product .tiny-review-images {
	gap: 24px;
	grid-template-columns: repeat(4, 128px);
	margin-top: 44px;
}

.single-product .tiny-review-images figure {
	background: #d9d9d9;
	height: 128px;
	width: 128px;
}

.single-product .tiny-comments-button {
	background: #6d79b8 !important;
	border-color: #6d79b8 !important;
	color: #fff !important;
	height: 56px;
	margin-top: 24px;
	min-width: 300px;
}

.single-product .tiny-similar-products {
	background: #f5f5f5;
	margin: 150px calc(50% - 50vw) 0 !important;
	padding: 104px max(60px, calc((100vw - 1802px) / 2 + 60px)) 118px !important;
}

.single-product .tiny-similar-products .section-heading {
	align-items: center;
	margin: 0 auto 52px;
	max-width: 1640px;
}

.single-product .tiny-similar-products .section-heading h2 {
	font-size: 40px;
	line-height: 1.2;
}

.single-product .tiny-similar-products ul.products {
	gap: 24px !important;
	grid-template-columns: repeat(4, minmax(0, 415px)) !important;
	justify-content: center;
	margin: 0 auto !important;
	max-width: 1732px;
}

.single-product .tiny-similar-products ul.products li.product,
.single-product .tiny-similar-products ul.products li.product .product-card-shell {
	height: 516px !important;
	width: 415px !important;
}

.single-product .tiny-similar-products ul.products li.product .product-image-wrap {
	background: #d9d9d9;
	height: 420px !important;
	width: 415px !important;
}

.single-product .tiny-similar-products ul.products li.product .product-card-info {
	padding-top: 16px;
}

@media (max-width: 1835px) {
	.single-product .site-main.tiny-product-main > .container {
		max-width: calc(100% - 96px);
		width: calc(100% - 96px);
	}

	.single-product .tiny-product-layout {
		gap: 48px;
		grid-template-columns: minmax(0, 936px) minmax(420px, 754px);
	}

	.single-product .tiny-product-gallery {
		grid-template-columns: 104px minmax(0, 1fr);
		width: 100%;
	}

	.single-product .tiny-product-thumbs {
		grid-auto-rows: 104px;
	}

	.single-product .tiny-thumb {
		height: 104px !important;
		width: 104px !important;
	}

	.single-product .tiny-product-image {
		aspect-ratio: 784 / 704;
		height: auto !important;
		min-height: 0 !important;
		width: 100% !important;
	}

	.single-product .tiny-product-summary,
	.single-product .tiny-cart-form,
	.single-product .option-row,
	.single-product .tiny-product-summary hr,
	.single-product .size-options,
	.single-product .tiny-cart-form .button,
	.single-product .tiny-variation-form .tt-variation-options,
	.single-product .tiny-variation-form .tt-variation-buttons,
	.single-product .tiny-variation-form .tiny-buy-now,
	.single-product .tiny-variation-form .single_add_to_cart_button {
		max-width: 100% !important;
		width: 100% !important;
	}

	.single-product .tiny-similar-products ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.single-product .tiny-similar-products ul.products li.product,
	.single-product .tiny-similar-products ul.products li.product .product-card-shell,
	.single-product .tiny-similar-products ul.products li.product .product-image-wrap {
		width: 100% !important;
	}

	.single-product .tiny-similar-products ul.products li.product .product-image-wrap {
		aspect-ratio: 415 / 420;
		height: auto !important;
	}
}

@media (max-width: 1180px) {
	.single-product .tiny-product-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.single-product .tiny-product-summary {
		max-width: 754px;
		width: 100%;
	}

	.single-product .tiny-similar-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 415px)) !important;
	}
}

@media (max-width: 820px) {
	.single-product .site-main.tiny-product-main > .container {
		max-width: calc(100% - 32px);
		width: calc(100% - 32px);
	}

	.single-product .tiny-product-gallery {
		display: flex !important;
		flex-direction: column;
		gap: 14px;
		width: 100%;
	}

	.single-product .tiny-product-image {
		order: 1 !important;
		width: 100% !important;
	}

	.single-product .tiny-product-thumbs {
		display: flex !important;
		gap: 12px;
		order: 2 !important;
		overflow-x: auto !important;
	}

	.single-product .tiny-thumb {
		flex: 0 0 84px !important;
		height: 84px !important;
		width: 84px !important;
	}

	.single-product .tiny-product-tabs,
	.single-product .tiny-tab-nav,
	.single-product .tiny-review-card {
		max-width: 100%;
		width: 100%;
	}

	.single-product .tiny-tab-nav {
		display: flex;
		justify-content: flex-start;
		overflow-x: auto;
	}

	.single-product .tiny-tab-nav a {
		flex: 0 0 auto;
		min-width: 160px;
	}

	.single-product .tiny-review-images {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.single-product .tiny-review-images figure {
		aspect-ratio: 1;
		height: auto;
		width: 100%;
	}
}

@media (max-width: 560px) {
	.single-product .site-main.tiny-product-main > .container {
		max-width: calc(100% - 32px);
		padding-left: 0;
		padding-right: 0;
		width: calc(100% - 32px);
	}

	.single-product .tiny-product-summary,
	.single-product .tiny-cart-form,
	.single-product .option-row,
	.single-product .tiny-product-summary hr,
	.single-product .size-options,
	.single-product .tiny-cart-form .button,
	.single-product .tiny-product-tabs,
	.single-product .tiny-tab-nav,
	.single-product .tiny-review-card {
		max-width: 100% !important;
		width: 100% !important;
	}

	.single-product .size-options {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.single-product .purchase-options {
		flex-direction: column;
		gap: 22px;
	}

	.single-product .tiny-similar-products {
		margin-top: 72px !important;
		padding: 48px 16px 72px !important;
	}

	.single-product .tiny-similar-products ul.products {
		grid-template-columns: 1fr !important;
	}
}

/* PDP final Figma alignment fixes. */
.single-product .tiny-price .woocommerce-Price-currencySymbol {
	margin-right: 0;
}

.single-product .tiny-product-image,
.single-product .tiny-thumb {
	background: #d1d1d1;
}

.single-product .tiny-product-image > img {
	transform-origin: center;
}

.single-product .tiny-price ins,
.single-product .tiny-price del {
	white-space: nowrap;
}

.single-product .tiny-variation-form .reset_variations,
.single-product .tiny-variation-form .woocommerce-variation-price {
	display: none !important;
}

.single-product .tiny-variation-form table.variations {
	margin-bottom: 0;
}

.single-product .tiny-variation-form table.variations tr {
	margin-bottom: 24px;
}

.single-product .tiny-variation-form table.variations th.label {
	align-items: center;
	display: flex;
	justify-content: space-between;
	width: 100%;
}

.single-product .tiny-variation-form table.variations th.label label {
	color: #414651;
	font-size: 20px;
	font-weight: 600;
	line-height: 30px;
}

.single-product .tiny-variation-form .tt-variation-options,
.single-product .tiny-variation-form .tt-variation-buttons {
	display: grid;
	gap: 16px;
	width: 754px;
}

.single-product .tiny-variation-form .tt-variation-options.size-options,
.single-product .tiny-variation-form .tt-variation-buttons.size-options {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.single-product .tiny-variation-form .tt-variation-options.colour-options,
.single-product .tiny-variation-form .tt-variation-buttons.colour-options {
	align-items: center;
	display: flex;
	width: auto;
}

.single-product .tiny-variation-form .pdp-quantity-label {
	color: #414651;
	display: block;
	font-size: 20px;
	font-weight: 600;
	line-height: 30px;
	margin: 0 0 16px;
}

.single-product .tiny-variation-form .quantity {
	align-items: center;
	border: 1px solid #717680;
	border-radius: 8px;
	display: inline-flex;
	height: 66px;
	justify-content: center;
	margin: 0 0 28px;
	padding: 0 14px;
	width: 150px;
}

.single-product .tiny-variation-form .quantity .qty {
	border: 0;
	font-size: 22px;
	height: 64px;
	min-height: 0;
	padding: 0;
	width: 62px;
}

.single-product .tiny-variation-form .tiny-buy-now {
	background: var(--tt-brand) !important;
	border: 1px solid var(--tt-brand) !important;
	color: #fff !important;
	margin: 8px 0 24px;
	width: 754px;
}

.single-product .tiny-variation-form .single_add_to_cart_button {
	background: #fff !important;
	border: 1px solid var(--tt-brand) !important;
	color: var(--tt-brand) !important;
	text-transform: none;
	width: 754px;
}

@media (min-width: 821px) and (max-width: 1180px) {
	.single-product .site-main.tiny-product-main > .container {
		max-width: 1024px;
		padding-left: 42px;
		padding-right: 42px;
	}

	.single-product .tiny-product-layout {
		display: grid !important;
		gap: 44px;
		grid-template-columns: minmax(0, 55%) minmax(340px, 1fr) !important;
	}

	.single-product .tiny-product-gallery {
		display: grid !important;
		gap: 16px;
		grid-template-columns: 72px minmax(0, 1fr) !important;
		width: 100%;
	}

	.single-product .tiny-product-thumbs {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.single-product .tiny-thumb {
		height: 72px;
		width: 72px;
	}

	.single-product .tiny-product-image {
		aspect-ratio: 784 / 704;
		height: auto;
		min-height: 0;
		width: 100%;
	}

	.single-product .tiny-product-heart {
		height: 38px;
		right: 14px;
		top: 14px;
		width: 38px;
	}

	.single-product .zoom-controls {
		bottom: 18px;
		left: 14px;
	}

	.single-product .zoom-controls button {
		height: 32px;
		width: 32px;
	}

	.single-product .tiny-product-summary,
	.single-product .tiny-cart-form,
	.single-product .option-row,
	.single-product .tiny-product-summary hr,
	.single-product .size-options,
	.single-product .tiny-variation-form .tt-variation-buttons,
	.single-product .tiny-cart-form .button,
	.single-product .tiny-variation-form .single_add_to_cart_button,
	.single-product .tiny-variation-form .tiny-buy-now {
		max-width: 100%;
		width: 100%;
	}

	.single-product .tiny-rating {
		font-size: 14px;
		height: 22px;
		line-height: 22px;
		margin-bottom: 12px;
		width: auto;
	}

	.single-product .tiny-rating span {
		font-size: 16px;
	}

	.single-product .tiny-product-summary h1 {
		font-size: 24px;
		line-height: 1.12;
		margin-bottom: 12px;
		max-width: 100%;
	}

	.single-product .tiny-price,
	.single-product .tiny-product-summary .price,
	.single-product .tiny-price del,
	.single-product .tiny-product-summary del,
	.single-product .tiny-discount {
		font-size: 20px;
		line-height: 30px;
	}

	.single-product .tiny-price {
		gap: 10px;
	}

	.single-product .tiny-product-summary hr {
		margin: 16px 0;
	}

	.single-product .option-head,
	.single-product .tiny-variation-form table.variations th.label,
	.single-product .purchase-options label,
	.single-product .tiny-variation-form .pdp-quantity-label {
		font-size: 14px;
		line-height: 22px;
		margin-bottom: 10px;
	}

	.single-product .size-guide {
		font-size: 14px;
		gap: 8px;
	}

	.single-product .size-guide::before {
		height: 7px;
		width: 17px;
	}

	.single-product .size-options,
	.single-product .tiny-variation-form .tt-variation-buttons.size-options {
		gap: 8px;
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	}

	.single-product .size-pill,
	.single-product .tt-variation-option {
		border-radius: 5px;
		font-size: 14px;
		height: 42px;
		padding: 0 6px;
	}

	.single-product .purchase-options {
		gap: 24px;
		margin-bottom: 22px;
	}

	.single-product .tiny-cart-form .quantity,
	.single-product .tiny-variation-form .quantity {
		border-radius: 5px;
		height: 42px;
		padding: 0 8px;
		width: 84px;
	}

	.single-product .tiny-cart-form .quantity .qty,
	.single-product .tiny-variation-form .quantity .qty {
		font-size: 14px;
		height: 40px;
		width: 34px;
	}

	.single-product .pdp-qty-button {
		font-size: 13px;
		height: 18px;
		width: 18px;
	}

	.single-product .colour-options {
		gap: 12px;
	}

	.single-product .colour-swatch {
		border-radius: 5px;
		height: 44px;
		width: 44px;
	}

	.single-product .tiny-cart-form .button,
	.single-product .tiny-variation-form .single_add_to_cart_button,
	.single-product .tiny-variation-form .tiny-buy-now {
		border-radius: 5px;
		font-size: 14px;
		height: 48px;
		min-height: 48px;
	}

	.single-product .tiny-cart-form .tiny-buy-now,
	.single-product .tiny-variation-form .tiny-buy-now {
		margin: 2px 0 14px;
	}

	.single-product .tiny-product-tabs {
		margin-top: 92px;
		max-width: 500px;
	}

	.single-product .tiny-tab-nav {
		margin-bottom: 24px;
		width: 500px;
	}

	.single-product .tiny-tab-nav a {
		font-size: 13px;
		line-height: 34px;
	}

	.single-product .tiny-review-card {
		min-height: 0;
		padding: 18px;
		width: 500px;
	}

	.single-product .tiny-review-card .stars {
		font-size: 18px;
		letter-spacing: 5px;
	}

	.single-product .tiny-review-card p {
		font-size: 13px;
		margin: 12px 0 10px;
	}

	.single-product .tiny-review-images {
		gap: 10px;
		grid-template-columns: repeat(4, 104px);
		margin-top: 24px;
	}

	.single-product .tiny-review-images figure {
		height: 104px;
		width: 104px;
	}

	.single-product .tiny-comments-button {
		background: #fff !important;
		border: 1px solid #717680 !important;
		color: #414651 !important;
		font-size: 12px;
		height: 34px;
		min-width: 168px;
	}

	.single-product .tiny-similar-products {
		margin: 92px -42px 0 !important;
		margin-top: 92px;
		min-height: 0 !important;
		padding: 60px 42px 68px !important;
	}

	.single-product .tiny-similar-products .section-heading h2 {
		font-size: 28px;
		line-height: 36px;
	}

	.single-product .tiny-similar-products ul.products {
		gap: 14px;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 1800px) {
	.single-product .tiny-variation-form .tt-variation-options,
	.single-product .tiny-variation-form .tt-variation-buttons,
	.single-product .tiny-variation-form .tiny-buy-now,
	.single-product .tiny-variation-form .single_add_to_cart_button {
		max-width: 100%;
		width: 100%;
	}
}

@media (max-width: 820px) {
	.single-product .tiny-variation-form .tt-variation-options.size-options,
	.single-product .tiny-variation-form .tt-variation-buttons.size-options {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.single-product .site-main.tiny-product-main {
		overflow-x: hidden;
	}

	.single-product .site-main.tiny-product-main > .container {
		max-width: 100%;
		overflow-x: hidden;
		padding-left: 20px;
		padding-right: 20px;
	}

	.single-product .tiny-product-summary,
	.single-product .tiny-cart-form,
	.single-product .option-row,
	.single-product .tiny-product-summary hr,
	.single-product .size-options,
	.single-product .tiny-cart-form .button,
	.single-product .tiny-product-tabs,
	.single-product .tiny-tab-nav,
	.single-product .tiny-review-card {
		max-width: calc(100vw - 40px) !important;
		width: calc(100vw - 40px) !important;
	}

	.single-product .option-head,
	.single-product .tiny-variation-form table.variations th.label {
		max-width: calc(100vw - 40px) !important;
		width: calc(100vw - 40px) !important;
	}

	.single-product .size-guide {
		font-size: 16px;
		gap: 6px;
		white-space: nowrap;
	}

	.single-product .size-guide::before {
		height: 8px;
		width: 20px;
	}

	.single-product .tiny-variation-form .tt-variation-options,
	.single-product .tiny-variation-form .tt-variation-buttons,
	.single-product .tiny-variation-form .tiny-buy-now,
	.single-product .tiny-variation-form .single_add_to_cart_button {
		max-width: 90vw !important;
		width: 90vw !important;
	}

	.single-product .tiny-variation-form .tt-variation-options.size-options,
	.single-product .tiny-variation-form .tt-variation-buttons.size-options {
		grid-template-columns: 1fr !important;
	}
}

/* Final PDP tablet/desktop Figma frame: keep 1024px layouts side-by-side. */
@media (min-width: 821px) and (max-width: 1180px) {
	.single-product .site-main.tiny-product-main > .container {
		max-width: 1024px;
		padding-left: 42px;
		padding-right: 42px;
	}

	.single-product .tiny-product-layout {
		display: grid !important;
		gap: 44px !important;
		grid-template-columns: minmax(0, 55%) minmax(340px, 1fr) !important;
	}

	.single-product .tiny-product-gallery {
		display: grid !important;
		gap: 16px !important;
		grid-template-columns: 72px minmax(0, 1fr) !important;
		width: 100% !important;
	}

	.single-product .tiny-product-thumbs {
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
		order: initial !important;
		overflow: visible !important;
	}

	.single-product .tiny-product-image {
		aspect-ratio: 784 / 704 !important;
		height: auto !important;
		min-height: 0 !important;
		order: initial !important;
		width: 100% !important;
	}

	.single-product .tiny-thumb {
		flex: 0 0 auto !important;
		height: 72px !important;
		width: 72px !important;
	}

	.single-product .tiny-product-summary,
	.single-product .tiny-cart-form,
	.single-product .option-row,
	.single-product .tiny-product-summary hr,
	.single-product .size-options,
	.single-product .tiny-cart-form .button {
		max-width: 100% !important;
		width: 100% !important;
	}

	.single-product .tiny-rating {
		font-size: 14px !important;
		line-height: 22px !important;
		margin-bottom: 12px !important;
		width: auto !important;
	}

	.single-product .tiny-product-summary h1 {
		font-size: 24px !important;
		line-height: 1.12 !important;
		margin-bottom: 12px !important;
	}

	.single-product .tiny-price,
	.single-product .tiny-product-summary .price,
	.single-product .tiny-price del,
	.single-product .tiny-product-summary del,
	.single-product .tiny-discount {
		font-size: 20px !important;
		line-height: 30px !important;
	}

	.single-product .tiny-product-summary hr {
		margin: 16px 0 !important;
	}

	.single-product .option-head,
	.single-product .purchase-options label {
		font-size: 14px !important;
		line-height: 22px !important;
		margin-bottom: 10px !important;
	}

	.single-product .size-guide {
		font-size: 14px !important;
	}

	.single-product .size-options {
		gap: 8px !important;
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	}

	.single-product .size-pill {
		font-size: 14px !important;
		height: 42px !important;
		padding: 0 6px !important;
	}

	.single-product .purchase-options {
		gap: 24px !important;
		margin-bottom: 22px !important;
	}

	.single-product .tiny-cart-form .quantity {
		height: 42px !important;
		width: 84px !important;
	}

	.single-product .colour-swatch {
		height: 44px !important;
		width: 44px !important;
	}

	.single-product .tiny-cart-form .button {
		font-size: 14px !important;
		height: 48px !important;
		min-height: 48px !important;
	}

	.single-product .tiny-cart-form .tiny-buy-now {
		margin: 2px 0 14px !important;
	}

	.single-product .tiny-product-tabs {
		margin-top: 92px !important;
		max-width: 500px !important;
	}

	.single-product .tiny-tab-nav,
	.single-product .tiny-review-card {
		width: 500px !important;
	}

	.single-product .tiny-tab-nav {
		margin-bottom: 24px !important;
	}

	.single-product .tiny-tab-nav a {
		font-size: 13px !important;
		line-height: 34px !important;
	}

	.single-product .tiny-review-card {
		min-height: 0 !important;
		padding: 18px !important;
	}

	.single-product .tiny-review-card .stars {
		font-size: 18px !important;
		letter-spacing: 5px !important;
	}

	.single-product .tiny-review-card p {
		font-size: 13px !important;
		margin: 12px 0 10px !important;
	}

	.single-product .tiny-review-images {
		gap: 10px !important;
		grid-template-columns: repeat(4, 104px) !important;
		margin-top: 24px !important;
	}

	.single-product .tiny-review-images figure {
		height: 104px !important;
		width: 104px !important;
	}

	.single-product .tiny-comments-button {
		background: #fff !important;
		border: 1px solid #717680 !important;
		color: #414651 !important;
		font-size: 12px !important;
		height: 34px !important;
		min-width: 168px !important;
	}

	.single-product .tiny-similar-products {
		margin: 92px -42px 0 !important;
		min-height: 0 !important;
		padding: 60px 42px 68px !important;
	}

	.single-product .tiny-similar-products ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

/* Final premium account dashboard cascade lock */
.woocommerce-account {
	background: #f8f6f4;
}

.logged-in.woocommerce-account .woocommerce {
	align-items: start;
	display: grid;
	gap: 32px;
	grid-template-columns: 300px minmax(0, 1fr);
	margin: 0 auto;
	max-width: 1400px;
	padding: 88px 24px 128px;
	width: 100%;
}

.logged-in.woocommerce-account .woocommerce::before,
.logged-in.woocommerce-account .woocommerce::after {
	content: none;
	display: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	border-radius: 20px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
	padding: 20px;
	position: sticky;
	top: 112px;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a {
	border-radius: 14px;
	min-height: 54px;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
	background: #7278d5;
	box-shadow: 0 14px 28px rgba(114, 120, 213, 0.28);
	color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover {
	background: rgba(114, 120, 213, 0.1);
	color: #7278d5;
}

.tt-account-dashboard {
	gap: 32px;
}

.tt-account-welcome-card,
.tt-account-panel,
.tt-account-dash-card,
.tt-account-stat-card,
.tt-account-address-card,
.tt-account-wishlist-card,
.woocommerce-account .woocommerce-MyAccount-content > p,
.woocommerce-account .woocommerce-MyAccount-content form,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details,
.woocommerce-account .woocommerce-MyAccount-content table.my_account_orders {
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.tt-account-card-grid,
.tt-account-stats-grid,
.tt-account-address-grid,
.tt-account-wishlist-grid {
	gap: 24px;
}

.tt-account-page-loading .woocommerce-MyAccount-content {
	opacity: 0.68;
	pointer-events: none;
}

@media (max-width: 1180px) {
	.logged-in.woocommerce-account .woocommerce {
		grid-template-columns: 280px minmax(0, 1fr);
	}
}

@media (max-width: 860px) {
	.logged-in.woocommerce-account .woocommerce {
		display: block;
		padding: 56px 18px 88px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		margin-bottom: 24px;
		overflow-x: auto;
		position: static;
	}
}

@media (max-width: 560px) {
	.logged-in.woocommerce-account .woocommerce {
		padding: 40px 14px 72px;
	}
}

/* Final Tiny Tootle account overrides: keep after legacy account blocks. */
.logged-in.woocommerce-account .woocommerce {
	display: block;
	grid-template-columns: none;
	gap: 0;
	padding: 0;
	background: transparent;
}

.tt-account-page {
	background: #F5F2F1;
	padding: 56px 0 76px;
	font-family: var(--font-primary);
	color: #181D27;
}

.tt-account-shell {
	width: min(1180px, calc(100% - 32px));
	margin: 0 auto;
	display: grid;
	grid-template-columns: 290px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}

.tt-account-nav {
	float: none;
	width: auto;
	background: #fff;
	border: 1px solid #E5E7EB;
	border-radius: 16px;
	box-shadow: 0 18px 48px rgba(24, 29, 39, 0.08);
	padding: 18px;
	position: sticky;
	top: 104px;
}

.tt-account-nav ul {
	list-style: none;
	margin: 18px 0 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

.tt-account-nav a {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 12px 14px;
	border-radius: 12px;
	color: #181D27;
	text-decoration: none;
	font-weight: 600;
}

.tt-account-nav a:hover,
.tt-account-nav .is-active a {
	background: #6D79B8;
	color: #fff;
}

.tt-account-content {
	float: none;
	width: auto;
	min-width: 0;
}

.tt-account-card,
.tt-account-welcome-card,
.tt-account-panel,
.tt-account-dash-card,
.tt-account-stat-card,
.tt-account-address-card,
.tt-account-wishlist-card,
.tt-account-order-card,
.tt-auth-account-card {
	background: #fff;
	border: 1px solid #E5E7EB;
	border-radius: 16px;
	box-shadow: 0 18px 48px rgba(24, 29, 39, 0.08);
}

.tt-account-card {
	padding: 28px;
}

.tt-account-card .button,
.tt-auth-account-card .button,
.tt-account-save-button,
.tt-auth-submit {
	background: #6D79B8;
	border-color: #6D79B8;
	color: #fff;
	border-radius: 12px;
	font-weight: 500;
}

.tt-account-form input.input-text,
.tt-account-form input[type="email"],
.tt-account-form input[type="password"],
.tt-account-form select,
.tt-account-form textarea,
.tt-auth-account-form input.input-text,
.tt-auth-account-form input[type="email"],
.tt-auth-account-form input[type="password"],
.tt-auth-account-form input[type="text"] {
	border: 1px solid #E5E7EB;
	border-radius: 12px;
	min-height: 48px;
	padding: 12px 14px;
	box-shadow: none;
}

.tt-auth-account-page {
	min-height: 70vh;
	background: #F5F2F1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 64px 16px;
	font-family: var(--font-primary);
}

.tt-auth-account-card {
	width: min(100%, 460px);
	padding: 32px;
}

.tt-auth-google {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	min-height: 52px;
	margin: 0 0 18px;
	border: 1.5px solid #8F98C8;
	border-radius: 4px;
	background: #fff;
	color: #6D79B8;
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
}

.tt-auth-google:hover,
.tt-auth-google:focus {
	border-color: #6D79B8;
	box-shadow: 0 8px 22px rgba(109, 121, 184, 0.14);
	color: #6D79B8;
}

.tt-auth-divider {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 8px 0 18px;
	color: #717680;
	font-size: 14px;
}

.tt-auth-divider span {
	height: 1px;
	flex: 1;
	background: #A4A7AE;
}

.tt-auth-divider em {
	font-style: normal;
}

.tt-auth-account-form {
	margin-top: 0;
}

.tt-auth-account-form .form-row {
	margin-bottom: 14px;
}

.tt-wishlist-page .page-header {
	padding: 110px 0 46px;
	text-align: center;
}

.tt-wishlist-page .page-header h1 {
	margin: 0;
	color: #181D27;
	font-size: clamp(34px, 4vw, 54px);
	line-height: 1.12;
	letter-spacing: 0;
}

.tt-wishlist-page-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
	margin: 0 0 90px;
	padding: 0;
	list-style: none;
}

.tt-wishlist-page-grid li.product {
	float: none;
	width: auto;
	margin: 0;
	list-style: none;
}

.tt-wishlist-page-grid .product-card-shell {
	height: 100%;
}

.tt-wishlist-page-grid .product-image-wrap {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: 16px;
	background: #FAFAFA;
}

.tt-wishlist-page-grid .product-img-link {
	display: block;
	aspect-ratio: 1 / 1.12;
}

.tt-wishlist-page-grid .product-img-link img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.tt-wishlist-page-grid .product-card-info {
	display: block;
	padding: 16px 4px 0;
	text-decoration: none;
}

.tt-wishlist-page-grid .woocommerce-loop-product__title {
	margin: 0 0 10px;
	color: #181D27;
	font-size: 20px;
	line-height: 1.25;
	letter-spacing: 0;
}

.tt-wishlist-page-grid .price {
	color: #181D27;
	font-size: 15px;
	font-weight: 500;
}

@media (max-width: 980px) {
	.tt-account-shell {
		grid-template-columns: 1fr;
	}

	.tt-account-nav {
		position: static;
		overflow-x: auto;
	}

	.tt-account-nav ul {
		display: flex;
		min-width: max-content;
	}

	.tt-wishlist-page-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.tt-account-page {
		padding: 34px 0 58px;
	}

	.tt-account-shell {
		width: min(100% - 24px, 1180px);
	}

	.tt-account-card,
	.tt-auth-account-card {
		padding: 20px;
	}

	.tt-auth-google {
		font-size: 15px;
	}

	.tt-wishlist-page .page-header {
		padding: 70px 0 34px;
	}

	.tt-wishlist-page-grid {
		grid-template-columns: 1fr;
		gap: 22px;
		margin-bottom: 56px;
	}
}

/* Tiny Tootle stock and inventory UI */
.tt-card-badges {
	position: absolute;
	top: 14px;
	left: 14px;
	right: 58px;
	z-index: 4;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 8px;
	pointer-events: none;
}

.tt-card-badges .product-badge,
.tt-stock-badge {
	display: inline-flex;
	align-items: center;
	width: max-content;
	max-width: 100%;
	min-height: 24px;
	padding: 4px 8px;
	border-radius: 20px;
	border: 1px solid transparent;
	font-family: var(--font-primary);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
	white-space: nowrap;
	box-shadow: 0 8px 20px rgba(24, 29, 39, 0.06);
}

.tt-card-badges .product-badge {
	position: static;
	background: #7479C8;
	color: #FFFFFF;
}

.tt-stock-badge--instock {
	background: #E8F8EE;
	color: #1F9D55;
	border-color: rgba(31, 157, 85, 0.14);
}

.tt-stock-badge--lowstock {
	background: #FFF3E0;
	color: #D97706;
	border-color: rgba(217, 119, 6, 0.16);
}

.tt-stock-badge--outofstock {
	background: #FDECEC;
	color: #D32F2F;
	border-color: rgba(211, 47, 47, 0.14);
	text-transform: uppercase;
}

.tt-stock-badge--drawer {
	box-shadow: none;
}

.tt-drawer-stock {
	display: flex;
	margin: 6px 0 10px;
}

.tt-stock-availability {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 10px 0 14px;
	color: #181D27;
	font-family: var(--font-primary);
}

.tt-stock-availability__label {
	color: #414651;
	font-size: 14px;
	font-weight: 600;
}

.tt-stock-availability__value {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #181D27;
	font-size: 14px;
	font-weight: 600;
}

.tt-stock-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(31, 157, 85, 0.1);
}

.tt-stock-dot--green {
	background: #1F9D55;
}

.tt-stock-dot--orange {
	background: #D97706;
	box-shadow: 0 0 0 4px rgba(217, 119, 6, 0.12);
}

.tt-stock-dot--red {
	background: #D32F2F;
	box-shadow: 0 0 0 4px rgba(211, 47, 47, 0.1);
}

.button.is-disabled,
.button:disabled,
.single_add_to_cart_button.is-disabled,
.single_add_to_cart_button:disabled,
.quick-view-trigger.tt-notify-trigger {
	cursor: not-allowed;
	opacity: 0.72;
	filter: saturate(0.75);
}

.quick-view-trigger.tt-notify-trigger {
	text-decoration: none;
	text-align: center;
}

.tt-quick-view .tt-stock-availability {
	margin: 6px 0 10px;
}

.tt-quick-view .tt-stock-availability__label {
	display: none;
}

@media (max-width: 640px) {
	.tt-card-badges {
		top: 10px;
		left: 10px;
		right: 50px;
		gap: 6px;
	}

	.tt-stock-badge,
	.tt-card-badges .product-badge {
		font-size: 11px;
		min-height: 22px;
	}

	.tt-stock-availability {
		flex-wrap: wrap;
		gap: 8px 12px;
	}
}

/* Figma wishlist drawer */
.tt-wishlist-drawer {
	position: fixed;
	inset: 0 0 0 auto;
	z-index: 210;
	box-sizing: border-box;
	width: min(540px, 100vw);
	height: 100dvh;
	padding: 0;
	overflow: hidden;
	background: #FBFAF8;
	box-shadow: -18px 0 45px rgba(24, 29, 39, 0.14);
	font-family: var(--font-primary);
}

.tt-wishlist-drawer:not([hidden]) {
	animation: tt-wishlist-slide-in 280ms ease both;
}

@keyframes tt-wishlist-slide-in {
	from {
		transform: translateX(100%);
	}

	to {
		transform: translateX(0);
	}
}

.tt-wishlist-drawer__header {
	position: sticky;
	top: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: 104px;
	padding: 34px 40px 22px;
	background: #FBFAF8;
	border-bottom: 1px solid rgba(24, 29, 39, 0.18);
}

.tt-wishlist-drawer__header h2,
.tt-wishlist-drawer h2 {
	width: auto;
	height: auto;
	margin: 0;
	color: #181D27;
	font-size: 25px;
	font-weight: 500;
	line-height: 1.18;
	letter-spacing: 0;
	white-space: normal;
}

.tt-wishlist-drawer .tt-modal-close {
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #181D27;
	font-size: 34px;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
}

.tt-wishlist-drawer .tt-drawer-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	height: calc(100dvh - 104px);
	margin: 0;
	padding: 18px 20px 20px;
	overflow-x: hidden;
	overflow-y: auto;
	scrollbar-width: thin;
}

.tt-wishlist-drawer .tt-drawer-list::-webkit-scrollbar {
	width: 6px;
}

.tt-wishlist-drawer .tt-drawer-list::-webkit-scrollbar-thumb {
	background: rgba(116, 121, 200, 0.28);
	border-radius: 999px;
}

.tt-wishlist-drawer .tt-wishlist-item {
	position: relative;
	display: grid;
	grid-template-columns: 135px minmax(0, 1fr) 44px;
	align-items: start;
	gap: 18px;
	min-height: 167px;
	padding: 16px;
	border: 0;
	border-radius: 0;
	background: #FFFFFF;
	box-shadow: none;
	transition: opacity 180ms ease, transform 180ms ease, max-height 180ms ease, margin 180ms ease, padding 180ms ease;
}

.tt-wishlist-drawer .tt-wishlist-item.is-removing {
	max-height: 0;
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
	overflow: hidden;
	opacity: 0;
	transform: translateX(18px);
}

.tt-wishlist-drawer .tt-drawer-item__image {
	display: block;
	width: 135px;
	height: 135px;
	overflow: hidden;
	border-radius: 0;
	background: #D9D9D9;
}

.tt-wishlist-drawer .tt-drawer-item__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #D9D9D9;
}

.tt-wishlist-drawer .tt-drawer-item__body {
	min-width: 0;
	padding: 2px 0 0;
}

.tt-wishlist-drawer .tt-wishlist-item h3 {
	display: -webkit-box;
	margin: 0 0 12px;
	overflow: hidden;
	color: #535862 !important;
	font-size: 24px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-family: var(--font-primary);
}

.tt-wishlist-drawer .tt-wishlist-item h3 a {
	color: inherit;
	text-decoration: none;
}

.tt-wishlist-drawer .tt-drawer-price {
	display: flex;
	align-items: baseline;
	flex-wrap: nowrap;
	gap: 10px;
	margin: 0 0 20px;
	overflow: hidden;
	color: #181D27;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.1;
	white-space: nowrap;
}

.tt-wishlist-drawer .tt-drawer-price del {
	flex: 0 1 auto;
	color: #8F93A3;
	font-size: 21px;
	font-weight: 400;
	text-decoration-thickness: 1px;
}

.tt-wishlist-drawer .tt-drawer-price ins {
	flex: 0 0 auto;
	color: #181D27;
	font-size: 22px;
	font-weight: 800;
	text-decoration: none;
}

.tt-wishlist-drawer .tt-drawer-price .tiny-discount {
	flex: 0 0 auto;
	color: #7479C8;
	font-size: 15px;
	font-weight: 500;
}

.tt-wishlist-drawer .tt-view-details {
	display: inline-flex;
	color: #717680;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.1;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.tt-wishlist-drawer .tt-wishlist-item .product-heart {
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 6px 0 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #FFFFFF;
	color: #E00000;
	box-shadow: 0 6px 16px rgba(24, 29, 39, 0.06);
	cursor: pointer;
}

.tt-wishlist-drawer .tt-wishlist-item .product-heart::before,
.tt-wishlist-drawer .tt-wishlist-item .product-heart::after {
	display: none;
	content: none;
}

.tt-wishlist-drawer .tt-wishlist-item .product-heart svg {
	display: block;
	width: 22px;
	height: 22px;
	color: inherit;
}

.tt-wishlist-drawer .tt-wishlist-item .product-heart.is-loading {
	pointer-events: none;
}

.tt-wishlist-drawer .tt-wishlist-item .product-heart.is-loading .tt-button-spinner {
	width: 18px;
	height: 18px;
	border-color: rgba(224, 0, 0, 0.25);
	border-top-color: #E00000;
}

.tt-wishlist-drawer-empty {
	display: grid;
	place-items: center;
	gap: 18px;
	min-height: 280px;
	padding: 28px;
	text-align: center;
	background: #FFFFFF;
}

.tt-wishlist-drawer-empty h3 {
	margin: 0;
	color: #181D27;
	font-size: 24px;
	font-weight: 500;
}

.tt-wishlist-drawer-empty .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 28px;
	border-radius: 12px;
	background: #7479C8;
	color: #FFFFFF;
	text-decoration: none;
}

@media (max-width: 900px) {
	.tt-wishlist-drawer {
		width: min(440px, 100vw);
	}

	.tt-wishlist-drawer__header {
		padding-inline: 28px;
	}

	.tt-wishlist-drawer .tt-drawer-list {
		padding-inline: 28px;
	}
}

@media (max-width: 640px) {
	.tt-wishlist-drawer {
		width: 100vw;
	}

	.tt-wishlist-drawer__header {
		min-height: 86px;
		padding: 24px 18px 18px;
	}

	.tt-wishlist-drawer__header h2,
	.tt-wishlist-drawer h2 {
		font-size: 25px;
	}

	.tt-wishlist-drawer .tt-drawer-list {
		gap: 14px;
		height: calc(100dvh - 86px);
		padding: 18px;
	}

	.tt-wishlist-drawer .tt-wishlist-item {
		grid-template-columns: 108px minmax(0, 1fr) 38px;
		gap: 12px;
		min-height: 132px;
		padding: 12px;
	}

	.tt-wishlist-drawer .tt-drawer-item__image {
		width: 108px;
		height: 108px;
	}

	.tt-wishlist-drawer .tt-wishlist-item h3 {
		margin-bottom: 8px;
		font-size: 18px;
	}

	.tt-wishlist-drawer .tt-drawer-price {
		gap: 7px;
		margin-bottom: 12px;
		font-size: 16px;
	}

	.tt-wishlist-drawer .tt-drawer-price del,
	.tt-wishlist-drawer .tt-drawer-price ins {
		font-size: 16px;
	}

	.tt-wishlist-drawer .tt-drawer-price .tiny-discount {
		font-size: 12px;
	}

	.tt-wishlist-drawer .tt-view-details {
		font-size: 17px;
	}

	.tt-wishlist-drawer .tt-wishlist-item .product-heart {
		width: 38px;
		height: 38px;
		margin-top: 4px;
	}
}

/* Figma cart drawer refinement */
.tt-side-cart {
	position: fixed;
	inset: 0 0 0 auto;
	z-index: 210;
	box-sizing: border-box;
	width: 550px;
	height: 100dvh;
	padding: 0 0 232px;
	overflow: hidden;
	background: #F5F2F1;
	box-shadow: none;
	font-family: var(--font-primary);
}

.tt-side-cart:not([hidden]) {
	animation: tt-quick-view-slide 300ms ease;
}

.tt-cart-drawer__header {
	position: sticky;
	top: 0;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: space-between;
	/* min-height: 104px; */
	padding: 20px 40px 18px;
	background: #F5F2F1;
	border-bottom: 1px solid rgba(24, 29, 39, 0.24);
}

.tt-side-cart .tt-cart-drawer__header h2,
.tt-side-cart h2 {
	width: auto;
	height: auto;
	margin: 0;
	color: #181D27;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	white-space: normal;
}

.tt-side-cart .tt-modal-close {
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #181D27;
	font-size: 26px;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
}

.tt-side-cart .tt-modal-line {
	display: none;
}

.tt-side-cart .tt-drawer-list {
	display: flex;
	flex-direction: column;
	gap: 24px;
	height: calc(100dvh - 336px);
	margin: 0;
	padding: 12px 20px 20px;
	overflow-x: hidden;
	overflow-y: auto;
	scrollbar-width: thin;
}

.tt-side-cart .tt-drawer-list::-webkit-scrollbar {
	width: 6px;
}

.tt-side-cart .tt-drawer-list::-webkit-scrollbar-thumb {
	background: rgba(116, 121, 200, 0.28);
	border-radius: 999px;
}

.tt-side-cart .tt-drawer-item {
	position: relative;
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr) 96px;
	grid-template-rows: auto auto 1fr auto;
	column-gap: 18px;
	row-gap: 14px;
	box-sizing: border-box;
	width: 100%;
	min-height: 245px;
	height: auto;
	padding: 16px;
	border: 0;
	border-radius: 0;
	background: #FAFAFA;
	box-shadow: none;
}

.tt-side-cart .tt-drawer-item__image {
	position: static;
	grid-column: 1;
	grid-row: 1 / span 2;
	display: block;
	width: 120px;
	height: 120px;
	overflow: hidden;
	border-radius: 4px;
	background: #D9D9D9;
}

.tt-side-cart .tt-drawer-item__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #D9D9D9;
	aspect-ratio: auto;
}

.tt-side-cart .tt-drawer-item__body {
	display: contents;
	min-height: 0;
	position: static;
}

.tt-side-cart .tt-drawer-item h3 {
	position: static;
	grid-column: 2;
	grid-row: 1;
	display: -webkit-box;
	width: auto;
	margin: 3px 0 0;
	overflow: hidden;
	color: #181D27;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.tt-side-cart .tt-drawer-item h3 a {
	color: inherit;
	text-decoration: none;
}

.tt-side-cart .tt-drawer-price {
	position: static;
	grid-column: 3;
	grid-row: 1 / span 2;
	display: flex;
	align-items: flex-end;
	flex-direction: column;
	gap: 8px;
	width: auto;
	margin: 0;
	color: #181D27;
	font-size: 22px;
	font-weight: 500;
	line-height: 1;
	text-align: right;
	white-space: nowrap;
}

.tt-side-cart .tt-drawer-price del {
	order: 1;
	color: #A4A7AE;
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	text-decoration-thickness: 1px;
}

.tt-side-cart .tt-drawer-price ins,
.tt-side-cart .tt-drawer-price ins span {
	order: 2;
	color: #181D27;
	font-size: 22px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
}

.tt-side-cart .tt-drawer-price .tiny-discount {
	order: 3;
	color: #6D79B8;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 1;
}

.tt-side-cart .tt-drawer-meta {
	position: static;
	grid-column: 2 / span 2;
	grid-row: 2;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 24px;
	margin: 0;
	color: #414651;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.25;
	white-space: nowrap;
}

.tt-side-cart .tt-drawer-meta span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

.tt-side-cart .tt-drawer-meta b {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 62px;
	height: 33px;
	margin: 0;
	padding: 0 10px;
	border: 1px solid #6D79B8;
	border-radius: 4px;
	background: #FFFFFF;
	color: #6D79B8;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
}

.tt-side-cart .tt-drawer-meta i {
	display: inline-block;
	width: 33px;
	height: 33px;
	margin: 0;
	border-radius: 5px;
	background: var(--drawer-swatch, #E00000);
}

.tt-side-cart .tt-drawer-item label {
	position: static;
	grid-column: 1;
	grid-row: 3;
	align-self: end;
	display: block;
	margin: 0 0 -3px;
	color: #414651;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
}

.tt-side-cart .tt-drawer-actions {
	position: static;
	grid-column: 1 / span 2;
	grid-row: 4;
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0;
}

.tt-side-cart .modal-qty {
	display: grid;
	grid-template-columns: 32px 36px 32px;
	align-items: center;
	width: 100px;
	height: 40px;
	border: 1px solid #717680;
	border-radius: 6px;
	background: #FFFFFF;
}

.tt-side-cart .modal-qty button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 38px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #717680;
	font-size: 18px;
	line-height: 1;
}

.tt-side-cart .modal-qty span {
	color: #181D27;
	font-size: 17px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
}

.tt-side-cart .tt-trash {
	position: relative;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 6px;
	background: #FFECEC;
	transition: background-color 160ms ease, transform 160ms ease;
}

.tt-side-cart .tt-trash:hover,
.tt-side-cart .tt-trash:focus {
	background: #FFDADA;
	transform: translateY(-1px);
}

.tt-side-cart .tt-trash::before {
	left: 15px;
	top: 16px;
	width: 15px;
	height: 21px;
	border-color: #E00000;
}

.tt-side-cart .tt-trash::after {
	left: 12px;
	top: 12px;
	width: 21px;
	height: 3px;
	background: #E00000;
	box-shadow: 0 -5px 0 -1px #E00000;
}

.tt-side-cart .tt-trash.is-loading::before,
.tt-side-cart .tt-trash.is-loading::after {
	display: none;
}

.tt-side-cart .tt-view-details {
	position: static;
	grid-column: 3;
	grid-row: 4;
	align-self: center;
	justify-self: end;
	margin: 0;
	color: #717680;
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
}

.tt-side-cart .tt-drawer-total {
	position: fixed;
	right: 0;
	bottom: 0;
	left: auto;
	z-index: 211;
	box-sizing: border-box;
	width: 550px;
	height: 232px;
	margin: 0;
	padding: 40px;
	border: 0;
	background: #FAFAFA;
	box-shadow: 0 -1px 0 rgba(24, 29, 39, 0.04);
}

.tt-side-cart .tt-drawer-total__row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}

.tt-side-cart .tt-drawer-total__row > span {
	margin: 0;
	color: #181D27;
	font-size: 24px;
	font-style: normal;
	font-weight: 500;
	line-height: 35px;
}

.tt-side-cart .tt-total-price {
	display: flex;
	align-items: baseline;
	justify-content: flex-end;
	flex-wrap: wrap;
	column-gap: 12px;
	width: 210px;
	margin: 0;
	color: #181D27;
	font-size: 24px;
	font-weight: 500;
	line-height: 35px;
	text-align: right;
}

.tt-side-cart .tt-total-price del {
	order: 1;
	color: #A4A7AE;
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: inherit;
}

.tt-side-cart .tt-total-price > .woocommerce-Price-amount,
.tt-side-cart .tt-total-price > ins {
	order: 2;
}

.tt-side-cart .tt-total-price span:not(.tiny-discount),
.tt-side-cart .tt-total-price .woocommerce-Price-currencySymbol {
	display: inline;
	color: inherit;
	font-size: inherit;
	font-style: normal;
	font-weight: inherit;
}

.tt-side-cart .tt-total-price .tiny-discount {
	order: 3;
	display: block;
	flex-basis: 100%;
	color: #6D79B8;
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 1;
}

.tt-side-cart .tt-savings-note {
	margin: -2px 0 18px;
	color: #6D79B8;
	font-size: 20px;
	font-style: italic;
	font-weight: 400;
	line-height: 24px;
	text-align: left;
}

.tt-side-cart .tt-checkout-button {
	position: static;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 56px;
	min-height: 56px;
	margin: 0;
	padding: 0 28px;
	border: 0;
	border-radius: 8px;
	background: #6D79B8 !important;
	color: #FFFFFF !important;
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
}

.tt-side-cart .tt-checkout-button:hover,
.tt-side-cart .tt-checkout-button:focus {
	background: #5D6FCB !important;
}

@media (max-width: 900px) {
	.tt-side-cart,
	.tt-side-cart .tt-drawer-total {
		width: min(540px, 100vw);
	}

	.tt-cart-drawer__header,
	.tt-side-cart .tt-drawer-list,
	.tt-side-cart .tt-drawer-total {
		padding-inline: 28px;
	}
}

@media (max-width: 640px) {
	.tt-side-cart {
		width: 100vw;
		padding-bottom: 214px;
	}

	.tt-side-cart .tt-drawer-total {
		width: 100vw;
		height: 214px;
		padding: 26px 18px 18px;
	}

	.tt-cart-drawer__header {
		min-height: 86px;
		padding: 24px 18px 18px;
	}

	.tt-side-cart .tt-cart-drawer__header h2,
	.tt-side-cart h2 {
		font-size: 23px;
	}

	.tt-side-cart .tt-drawer-list {
		gap: 16px;
		height: calc(100dvh - 300px);
		padding: 18px;
	}

	.tt-side-cart .tt-drawer-item {
		grid-template-columns: 104px minmax(0, 1fr) 78px;
		column-gap: 12px;
		row-gap: 10px;
		min-height: 220px;
		padding: 12px;
	}

	.tt-side-cart .tt-drawer-item__image {
		width: 104px;
		height: 104px;
	}

	.tt-side-cart .tt-drawer-item h3 {
		font-size: 17px;
	}

	.tt-side-cart .tt-drawer-price {
		gap: 6px;
		font-size: 17px;
	}

	.tt-side-cart .tt-drawer-price del,
	.tt-side-cart .tt-drawer-price ins,
	.tt-side-cart .tt-drawer-price ins span {
		font-size: 16px;
	}

	.tt-side-cart .tt-drawer-price .tiny-discount {
		font-size: 12px;
	}

	.tt-side-cart .tt-drawer-meta {
		grid-column: 1 / -1;
		gap: 12px;
		font-size: 15px;
	}

	.tt-side-cart .tt-drawer-meta b {
		min-width: 54px;
		height: 30px;
		font-size: 13px;
	}

	.tt-side-cart .tt-drawer-meta i {
		width: 30px;
		height: 30px;
	}

	.tt-side-cart .tt-drawer-item label {
		font-size: 14px;
	}

	.tt-side-cart .tt-drawer-actions {
		grid-column: 1 / span 2;
		gap: 12px;
	}

	.tt-side-cart .tt-view-details {
		font-size: 16px;
	}

	.tt-side-cart .tt-drawer-total__row > span,
	.tt-side-cart .tt-total-price {
		font-size: 20px;
		line-height: 28px;
	}

	.tt-side-cart .tt-savings-note {
		margin-bottom: 14px;
		font-size: 16px;
		line-height: 20px;
	}
}

/* Cart drawer delete button: Figma exact */
.tt-side-cart .tt-drawer-actions {
	gap: 12px;
}

.tt-side-cart .tt-trash {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: #FFEAEA;
	box-shadow: none;
	color: #FF4D4F;
	cursor: pointer;
	transition: all .25s ease;
}

.tt-side-cart .tt-trash::before,
.tt-side-cart .tt-trash::after {
	display: none;
	content: none;
}

.tt-side-cart .tt-trash svg {
	display: block;
	width: 20px;
	height: 20px;
	color: currentColor;
	stroke: currentColor;
	stroke-width: 2;
	pointer-events: none;
}

.tt-side-cart .tt-trash:hover,
.tt-side-cart .tt-trash:focus {
	background: #FFDCDC;
	color: #E53935;
	box-shadow: none;
	transform: none;
}

.tt-side-cart .tt-trash:active {
	transform: scale(.96);
}

.tt-side-cart .tt-trash.is-loading {
	color: #E53935;
}

.tt-side-cart .tt-trash.is-loading svg {
	display: none;
}

/* Global Outfit typography system */
:root {
	--font-primary: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--tt-body: var(--font-primary);
	--tt-h1-size: 25px;
	--tt-h2-size: 24px;
	--tt-h3-size: 34px;
	--tt-h4-size: 28px;
	--tt-h5-size: 22px;
	--tt-h6-size: 18px;
	--tt-body-size: 16px;
	--tt-body-large-size: 18px;
	--tt-small-size: 14px;
}

html,
body,
body *,
button,
input,
select,
textarea,
optgroup,
.site-header,
.top-strip,
.primary-nav,
.nav-row,
.site-search,
.hero-slider,
.tiny-hero,
.button,
.woocommerce,
.woocommerce-page,
.woocommerce form,
.woocommerce table,
.woocommerce ul.products,
.product-card-shell,
.single-product,
.tiny-product-main,
.tt-quick-view,
.tt-side-cart,
.tt-wishlist-drawer,
.tt-checkout-page,
.tt-account-page,
.tt-auth-account-page,
.tt-pay-order-page,
.tt-modal,
.tt-popup,
.swal2-container,
.swal2-popup,
.site-footer,
.footer-main,
.footer-bottom,
.pagination,
.page-numbers {
	font-family: var(--font-primary) !important;
	letter-spacing: 0;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body {
	font-size: var(--tt-body-size);
	font-weight: 400;
	line-height: 1.7;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.woocommerce-products-header__title,
.product_title,
.tiny-hero__title,
.tt-account-title,
.tt-auth-account-title,
.tt-side-cart h2,
.tt-wishlist-drawer h2,
.tt-quick-view h2,
.swal2-title {
	font-family: var(--font-primary) !important;
	color: inherit;
	letter-spacing: 0;
}

h1,
.h1,
.tiny-hero__title,
.woocommerce-products-header__title,
.product_title {
	font-size: var(--tt-h1-size);
	font-weight: 500;
	line-height: 1.15;
}

h2,
.h2,
.section-title,
.tt-account-title,
.tt-side-cart h2,
.tt-wishlist-drawer h2,
.swal2-title {
	font-size: var(--tt-h2-size);
	font-weight: 500;
	line-height: 1.2;
}

h3,
.h3,
.woocommerce-loop-product__title,
.tt-drawer-item h3,
.tt-wishlist-item h3 {
	font-size: var(--tt-h3-size);
	font-weight: 600;
	line-height: 1.25;
}

h4,
.h4 {
	font-size: var(--tt-h4-size);
	font-weight: 600;
	line-height: 1.3;
}

h5,
.h5 {
	font-size: var(--tt-h5-size);
	font-weight: 600;
	line-height: 1.35;
}

h6,
.h6 {
	font-size: var(--tt-h6-size);
	font-weight: 600;
	line-height: 1.4;
}

p,
li,
td,
th,
label,
legend,
.woocommerce-notices-wrapper,
.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.swal2-html-container {
	font-size: var(--tt-body-size);
	font-weight: 400;
	line-height: 1.7;
}

small,
.small,
.breadcrumb,
.woocommerce-breadcrumb,
.tiny-discount,
.product-badge,
.tt-stock-badge,
.tt-drawer-meta,
.tt-savings-note,
.footer-copy,
.copyright,
.swal2-footer {
	font-size: var(--tt-small-size);
	line-height: 1.6;
}

button,
.button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.tiny-buy-now,
.tiny-add-cart,
.tt-checkout-button,
.swal2-confirm,
.swal2-cancel {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0 !important;
}

input,
select,
textarea {
	font-size: var(--tt-body-size);
	font-weight: 400;
	line-height: 1.5;
}

input::placeholder,
textarea::placeholder {
	font-weight: 400;
	opacity: .72;
}

label,
.form-row label,
.woocommerce form .form-row label,
.tt-field label {
	font-weight: 500;
}

.primary-nav a,
.header-actions a,
.site-search input[type="search"],
.mega-menu a,
.mobile-menu a {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.featured-products.home-best-sellers .woocommerce ul.products li.product .woocommerce-loop-product__title,
.single-product .tiny-similar-products ul.products li.product .woocommerce-loop-product__title {
	font-size: 22px;
	font-weight: 600;
	line-height: 1.25;
}

.single-product .tiny-price,
.single-product .price,
.tt-quick-view .tiny-price {
	font-size: 34px;
	font-weight: 500;
	line-height: 1.2;
}

.woocommerce ul.products li.product .price,
.post-type-archive-product ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.featured-products.home-best-sellers .woocommerce ul.products li.product .price,
.single-product .tiny-similar-products ul.products li.product .price,
.tt-drawer-price,
.tt-total-price {
	font-weight: 500;
}

.tiny-discount,
.woocommerce ul.products li.product .tiny-discount,
.tt-drawer-price .tiny-discount,
.tt-total-price .tiny-discount {
	font-weight: 600;
}

.tt-wishlist-drawer,
.tt-wishlist-drawer a,
.tt-wishlist-drawer button,
.tt-side-cart,
.tt-side-cart a,
.tt-side-cart button,
.tt-checkout-page,
.tt-account-page,
.tt-auth-account-page {
	font-weight: 500;
}

.reviews,
.commentlist,
.comment-text,
.woocommerce-Reviews,
.single-product .woocommerce-Tabs-panel--reviews,
.product-description,
.woocommerce-Tabs-panel--description,
.single-product .woocommerce-Tabs-panel p {
	font-weight: 400;
}

@media (max-width: 1199px) {
	:root {
		--tt-h1-size: 52px;
		--tt-h2-size: 40px;
		--tt-h3-size: 32px;
		--tt-h4-size: 26px;
		--tt-h5-size: 21px;
		--tt-h6-size: 18px;
		--tt-body-size: 16px;
		--tt-body-large-size: 18px;
		--tt-small-size: 14px;
	}
}

@media (max-width: 991px) {
	:root {
		--tt-h1-size: 42px;
		--tt-h2-size: 34px;
		--tt-h3-size: 28px;
		--tt-h4-size: 24px;
		--tt-h5-size: 20px;
		--tt-h6-size: 17px;
		--tt-body-size: 15px;
		--tt-body-large-size: 17px;
		--tt-small-size: 13px;
	}

	button,
	.button,
	input[type="button"],
	input[type="submit"],
	input[type="reset"],
	.wp-element-button,
	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button,
	.woocommerce #respond input#submit,
	.tiny-buy-now,
	.tiny-add-cart,
	.tt-checkout-button {
		font-size: 15px;
	}
}

@media (max-width: 575px) {
	:root {
		--tt-h1-size: 34px;
		--tt-h2-size: 28px;
		--tt-h3-size: 24px;
		--tt-h4-size: 22px;
		--tt-h5-size: 18px;
		--tt-h6-size: 16px;
		--tt-body-size: 15px;
		--tt-body-large-size: 16px;
		--tt-small-size: 13px;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
	.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
	.featured-products.home-best-sellers .woocommerce ul.products li.product .woocommerce-loop-product__title,
	.single-product .tiny-similar-products ul.products li.product .woocommerce-loop-product__title {
		font-size: 18px;
	}

	.single-product .tiny-price,
	.single-product .price,
	.tt-quick-view .tiny-price {
		font-size: 28px;
	}
}

/* Bug report refinements: product grids, badges, category layout */
.product-badge,
.onsale,
.tiny-product-badge {
	display: none !important;
}

.tt-card-badges:empty {
	display: none !important;
}

.tt-stock-badge {
	min-height: 26px;
	padding: 5px 10px;
	border: 0;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	white-space: nowrap;
}

.tt-stock-badge--instock {
	background: #E8F8EE !important;
	color: #1F9D55 !important;
}

.tt-stock-badge--lowstock {
	background: #FFF4E5 !important;
	color: #D97706 !important;
}

.tt-stock-badge--outofstock {
	background: #FDECEC !important;
	color: #D32F2F !important;
	text-transform: uppercase;
}

.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.search-results.woocommerce ul.products,
.featured-products.home-best-sellers .woocommerce ul.products,
.single-product .tiny-similar-products ul.products,
.tt-wishlist-page-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 42px 28px !important;
	width: min(100%, 100%) !important;
	padding: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.search-results.woocommerce ul.products li.product,
.featured-products.home-best-sellers .woocommerce ul.products li.product,
.single-product .tiny-similar-products ul.products li.product,
.tt-wishlist-page-grid li.product {
	float: none !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
}

.post-type-archive-product ul.products li.product .product-card-shell,
.tax-product_cat ul.products li.product .product-card-shell,
.featured-products.home-best-sellers .woocommerce ul.products li.product .product-card-shell,
.single-product .tiny-similar-products ul.products li.product .product-card-shell,
.tt-wishlist-page-grid .product-card-shell {
	height: 100%;
	display: flex !important;
	flex-direction: column !important;
	gap: 14px;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.post-type-archive-product ul.products li.product .product-image-wrap,
.tax-product_cat ul.products li.product .product-image-wrap,
.featured-products.home-best-sellers .woocommerce ul.products li.product .product-image-wrap,
.single-product .tiny-similar-products ul.products li.product .product-image-wrap,
.tt-wishlist-page-grid .product-image-wrap {
	aspect-ratio: 1 / 1;
	background: #D9D9D9 !important;
	overflow: hidden;
}

.post-type-archive-product ul.products li.product .product-image-wrap img,
.tax-product_cat ul.products li.product .product-image-wrap img,
.featured-products.home-best-sellers .woocommerce ul.products li.product .product-image-wrap img,
.single-product .tiny-similar-products ul.products li.product .product-image-wrap img,
.tt-wishlist-page-grid .product-image-wrap img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.featured-products.home-best-sellers .woocommerce ul.products li.product .woocommerce-loop-product__title,
.single-product .tiny-similar-products ul.products li.product .woocommerce-loop-product__title,
.tt-wishlist-page-grid .woocommerce-loop-product__title {
	min-height: 0;
	margin: 0;
	color: #181D27;
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
}

.post-type-archive-product ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.featured-products.home-best-sellers .woocommerce ul.products li.product .price,
.single-product .tiny-similar-products ul.products li.product .price,
.tt-wishlist-page-grid .price {
	min-height: 0;
	margin: 0;
	display: flex !important;
	align-items: baseline;
	gap: 8px;
	color: #181D27;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

.post-type-archive-product ul.products li.product .price del,
.tax-product_cat ul.products li.product .price del,
.featured-products.home-best-sellers .woocommerce ul.products li.product .price del,
.single-product .tiny-similar-products ul.products li.product .price del,
.tt-wishlist-page-grid .price del {
	color: #A4A7AE !important;
	font-size: 15px !important;
	font-weight: 500 !important;
}

.post-type-archive-product ul.products li.product .tiny-discount,
.tax-product_cat ul.products li.product .tiny-discount,
.featured-products.home-best-sellers .woocommerce ul.products li.product .tiny-discount,
.single-product .tiny-similar-products ul.products li.product .tiny-discount,
.tt-wishlist-page-grid .tiny-discount {
	color: #6D79B8 !important;
	font-size: 15px !important;
	font-weight: 600 !important;
}

.post-type-archive-product .shop-breadcrumb,
.tax-product_cat .shop-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	color: #717680;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
}

.post-type-archive-product .shop-breadcrumb a,
.tax-product_cat .shop-breadcrumb a {
	color: #717680;
	text-decoration: none;
}

.post-type-archive-product .shop-breadcrumb span:last-child,
.tax-product_cat .shop-breadcrumb span:last-child {
	color: #6D79B8;
}

@media (max-width: 1180px) {
	.post-type-archive-product ul.products,
	.tax-product_cat ul.products,
	.search-results.woocommerce ul.products,
	.featured-products.home-best-sellers .woocommerce ul.products,
	.single-product .tiny-similar-products ul.products,
	.tt-wishlist-page-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	.post-type-archive-product ul.products,
	.tax-product_cat ul.products,
	.search-results.woocommerce ul.products,
	.featured-products.home-best-sellers .woocommerce ul.products,
	.single-product .tiny-similar-products ul.products,
	.tt-wishlist-page-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 28px 16px !important;
	}
}

@media (max-width: 360px) {
	.post-type-archive-product ul.products,
	.tax-product_cat ul.products,
	.search-results.woocommerce ul.products,
	.featured-products.home-best-sellers .woocommerce ul.products,
	.single-product .tiny-similar-products ul.products,
	.tt-wishlist-page-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Homepage feature icon replacements */
.tiny-benefit__icon {
	align-items: center !important;
	display: flex !important;
	height: 72px !important;
	justify-content: center !important;
	width: 72px !important;
}

.tiny-benefit__icon img,
.tiny-benefit__icon svg {
	background: transparent !important;
	display: block !important;
	height: 58px !important;
	max-height: 60px !important;
	max-width: 60px !important;
	object-fit: contain !important;
	width: 58px !important;
}

@media (max-width: 1024px) {
	.tiny-benefits__inner {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 520px) {
	.tiny-benefits__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.tiny-benefit__icon {
		height: 56px !important;
		margin-bottom: 12px !important;
		width: 56px !important;
	}

	.tiny-benefit__icon img,
	.tiny-benefit__icon svg {
		height: 46px !important;
		max-height: 48px !important;
		max-width: 48px !important;
		width: 46px !important;
	}
}

@media (max-width: 360px) {
	.tiny-benefits__inner {
		width: calc(100% - 24px) !important;
	}
}

/* Figma footer match */
.site-footer.tiny-footer,
.tiny-footer {
	background-color: #6d79b8 !important;
	/* min-height: 858px !important; */
	/* padding: 115px 0 250px !important; */
}

.tiny-footer::before {
	opacity: .34 !important;
}

.tiny-footer::after {
	background-position: left bottom !important;
    bottom: auto !important;
    height: 903px !important;
    left: -10px !important;
    opacity: 1 !important;
    top: -191px !important;
    width: 1539px !important;
}

.tiny-footer .footer-inner {
	align-items: start !important;
	display: grid !important;
	column-gap: 0 !important;
	justify-content: space-between !important;
	row-gap: 48px !important;
	grid-template-columns: 390px 210px 250px 470px !important;
	margin: 0 !important;
	margin-left: 110px !important;
	max-width: 1619px !important;
	min-height: 379px !important;
	width: calc(100% - 300px) !important;
}

.tiny-footer .footer-brand {
	align-items: center !important;
	display: flex !important;
	flex-direction: column !important;
	text-align: center !important;
}

.tiny-footer .site-logo-text--footer {
	display: inline-flex !important;
	margin: 0 0 20px !important;
	text-decoration: none !important;
}

.tiny-footer .site-logo-text--footer .site-logo-image {
	display: block !important;
	height: 139px !important;
	max-height: none !important;
	max-width: none !important;
	object-fit: contain !important;
	width: 113px !important;
}

.tiny-footer .footer-brand > p {
	color: #F4F4F4 !important;
	font-size: 16px !important;
	font-weight: 200 !important;
	line-height: 1.28 !important;
	margin: 0 auto 64px !important;
	max-width: 350px !important;
}

.tiny-footer .footer-meta {
	align-items: center !important;
	display: flex !important;
	gap: 18px !important;
	justify-content: center !important;
	width: 100% !important;
}

.tiny-footer .footer-copy {
	color: #fff !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	margin: 0 !important;
	white-space: nowrap !important;
}

.tiny-footer .footer-social {
	border-left: 1px solid rgba(255, 255, 255, .72) !important;
	display: flex !important;
	gap: 18px !important;
	margin: 0 !important;
	padding-left: 18px !important;
}

.tiny-footer .footer-social a {
	align-items: center !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: #fff !important;
	display: inline-flex !important;
	height: 24px !important;
	justify-content: center !important;
	opacity: 1 !important;
	width: 24px !important;
}

.tiny-footer .footer-social a svg {
	height: 24px !important;
	width: 24px !important;
}

.tiny-footer .footer-title {
	color: #fff !important;
	font-size: 30px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	line-height: 1.22 !important;
	margin: 0 0 34px !important;
	text-transform: none !important;
}

.tiny-footer .footer-nav ul {
	display: flex !important;
	flex-direction: column !important;
	gap: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tiny-footer .footer-nav a,
.tiny-footer .footer-contact p,
.tiny-footer .footer-contact a {
	color: #F4F4F4 !important;
	font-size: 16px !important;
	font-weight: 200 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.tiny-footer .footer-contact .footer-title {
	font-size: 30px !important;
	font-weight: 700 !important;
	margin-bottom: 22px !important;
	max-width: 470px !important;
	white-space: nowrap !important;
}

.tiny-footer .footer-contact p {
	margin: 0 0 46px !important;
	max-width: 470px !important;
	white-space: nowrap !important;
}

@media (max-width: 1280px) {
	.tiny-footer .footer-inner {
		column-gap: 42px !important;
		justify-content: stretch !important;
		grid-template-columns: minmax(260px, 1.15fr) minmax(150px, .7fr) minmax(170px, .8fr) minmax(300px, 1.25fr) !important;
		width: calc(100% - 72px) !important;
	}

	.tiny-footer .footer-brand > p,
	.tiny-footer .footer-nav a,
	.tiny-footer .footer-contact p,
	.tiny-footer .footer-contact a,
	.tiny-footer .footer-copy {
		font-size: 20px !important;
	}

	.tiny-footer .footer-title,
	.tiny-footer .footer-contact .footer-title {
		font-size: 26px !important;
	}
}

@media (max-width: 920px) {
	.site-footer.tiny-footer,
	.tiny-footer {
		min-height: 0 !important;
		padding: 72px 0 180px !important;
	}

	.tiny-footer .footer-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		width: calc(100% - 48px) !important;
	}

	.tiny-footer .footer-brand {
		align-items: flex-start !important;
		text-align: left !important;
	}

	.tiny-footer .footer-brand > p {
		margin: 0 0 42px !important;
	}

	.tiny-footer .footer-meta {
		justify-content: flex-start !important;
	}
}

@media (max-width: 620px) {
	.tiny-footer .footer-inner {
		grid-template-columns: 1fr !important;
		width: calc(100% - 40px) !important;
	}

	.tiny-footer .footer-brand {
		align-items: center !important;
		text-align: center !important;
	}

	.tiny-footer .footer-meta {
		flex-wrap: wrap !important;
		justify-content: center !important;
	}

	.tiny-footer .footer-copy,
	.tiny-footer .footer-nav a,
	.tiny-footer .footer-contact p,
	.tiny-footer .footer-contact a {
		font-size: 18px !important;
	}

	.tiny-footer .footer-title,
	.tiny-footer .footer-contact .footer-title {
		font-size: 24px !important;
	}
}

/* Responsive footer hardening */
.tiny-footer {
	box-sizing: border-box !important;
	overflow: hidden !important;
}

.tiny-footer *,
.tiny-footer *::before,
.tiny-footer *::after {
	box-sizing: border-box !important;
}

.tiny-footer .footer-inner {
	max-width: min(1619px, calc(100vw - 300px)) !important;
}

.tiny-footer .footer-contact {
	min-width: 0 !important;
	overflow: visible !important;
}

@media (max-width: 1700px) {
	.site-footer.tiny-footer,
	.tiny-footer {
		min-height: 760px !important;
		padding: 96px 0 210px !important;
	}

	.tiny-footer .footer-inner {
		grid-template-columns: minmax(280px, 340px) minmax(150px, 190px) minmax(180px, 220px) minmax(330px, 430px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: min(1320px, calc(100vw - 80px)) !important;
		width: calc(100% - 80px) !important;
	}

	.tiny-footer::after {
		height: 360px !important;
		left: -10px !important;
		top: auto !important;
		bottom: -28px !important;
		width: 110vw !important;
	}
}

@media (max-width: 1280px) {
	.site-footer.tiny-footer,
	.tiny-footer {
		min-height: 680px !important;
		padding: 76px 0 180px !important;
	}

	.tiny-footer .footer-inner {
		column-gap: 34px !important;
		grid-template-columns: minmax(230px, 1.1fr) minmax(130px, .7fr) minmax(150px, .8fr) minmax(260px, 1.15fr) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: calc(100vw - 56px) !important;
		width: calc(100% - 56px) !important;
	}

	.tiny-footer .site-logo-text--footer .site-logo-image {
		height: 118px !important;
		width: 96px !important;
	}

	.tiny-footer .footer-brand > p {
		font-size: 16px !important;
		margin-bottom: 44px !important;
		max-width: 290px !important;
	}

	.tiny-footer .footer-copy,
	.tiny-footer .footer-nav a,
	.tiny-footer .footer-contact p,
	.tiny-footer .footer-contact a {
		font-size: 16px !important;
	}

	.tiny-footer .footer-title,
	.tiny-footer .footer-contact .footer-title {
		font-size: 24px !important;
	}

	.tiny-footer .footer-contact .footer-title,
	.tiny-footer .footer-contact p {
		white-space: normal !important;
	}
}

@media (max-width: 1024px) {
	.site-footer.tiny-footer,
	.tiny-footer {
		min-height: 0 !important;
		padding: 64px 0 150px !important;
	}

	.tiny-footer .footer-inner {
		column-gap: 48px !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		row-gap: 48px !important;
		width: calc(100% - 48px) !important;
	}

	.tiny-footer .footer-brand {
		align-items: flex-start !important;
		text-align: left !important;
	}

	.tiny-footer .footer-brand > p {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.tiny-footer .footer-meta {
		justify-content: flex-start !important;
	}

	.tiny-footer::after {
		height: 260px !important;
		width: 150vw !important;
	}
}

@media (max-width: 640px) {
	.site-footer.tiny-footer,
	.tiny-footer {
		padding: 52px 0 132px !important;
	}

	.tiny-footer .footer-inner {
		grid-template-columns: 1fr !important;
		row-gap: 36px !important;
		width: calc(100% - 36px) !important;
	}

	.tiny-footer .footer-brand {
		align-items: center !important;
		text-align: center !important;
	}

	.tiny-footer .site-logo-text--footer {
		margin-bottom: 16px !important;
	}

	.tiny-footer .site-logo-text--footer .site-logo-image {
		height: 104px !important;
		width: 85px !important;
	}

	.tiny-footer .footer-brand > p {
		font-size: 16px !important;
		margin: 0 auto 28px !important;
		max-width: 320px !important;
	}

	.tiny-footer .footer-meta {
		flex-wrap: wrap !important;
		gap: 12px !important;
		justify-content: center !important;
	}

	.tiny-footer .footer-social {
		border-left: 0 !important;
		padding-left: 0 !important;
	}

	.tiny-footer .footer-title,
	.tiny-footer .footer-contact .footer-title {
		font-size: 22px !important;
		margin-bottom: 16px !important;
	}

	.tiny-footer .footer-nav ul {
		gap: 14px !important;
	}

	.tiny-footer .footer-copy,
	.tiny-footer .footer-nav a,
	.tiny-footer .footer-contact p,
	.tiny-footer .footer-contact a {
		font-size: 16px !important;
		line-height: 1.35 !important;
		white-space: normal !important;
	}

	.tiny-footer .footer-contact p {
		margin-bottom: 28px !important;
	}

	.tiny-footer::after {
		bottom: -18px !important;
		height: 180px !important;
		left: -55px !important;
		width: 210vw !important;
	}
}

@media (max-width: 390px) {
	.tiny-footer .footer-inner {
		width: calc(100% - 28px) !important;
	}

	.tiny-footer .footer-copy,
	.tiny-footer .footer-nav a,
	.tiny-footer .footer-contact p,
	.tiny-footer .footer-contact a {
		font-size: 15px !important;
	}
}

/* Site-wide price order and active navigation state */
.tt-price,
.woocommerce ul.products li.product .price .tt-price,
.tiny-price .tt-price,
.tt-drawer-price .tt-price,
.tt-summary-price .tt-price,
.tt-account-wishlist-card .tt-price {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	font-family: var(--font-primary);
	gap: 7px;
	line-height: 1.4;
	min-width: 0;
}

.tt-price__regular,
.tt-price del,
.woocommerce ul.products li.product .price .tt-price__regular,
.tiny-price .tt-price__regular,
.tt-drawer-price .tt-price__regular,
.tt-summary-price .tt-price__regular {
	color: #9CA0AA !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	text-decoration: line-through !important;
	white-space: nowrap;
}

.tt-price__sale,
.tt-price ins,
.woocommerce ul.products li.product .price .tt-price__sale,
.tiny-price .tt-price__sale,
.tt-drawer-price .tt-price__sale,
.tt-summary-price .tt-price__sale {
	color: #171824 !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	white-space: nowrap;
}

.tt-price__discount,
.tiny-discount,
.woocommerce ul.products li.product .tiny-discount,
.tt-drawer-price .tiny-discount,
.tt-total-price .tiny-discount,
.tt-summary-price .tiny-discount {
	color: #7886C7 !important;
	font-size: 14px !important;
	font-style: normal !important;
	font-weight: 500 !important;
	white-space: nowrap;
}

.tt-price--range {
	color: #171824;
	font-size: 16px;
	font-weight: 600;
}

.primary-nav a,
.primary-menu a {
	position: relative;
}

.primary-nav .current-menu-item > a,
.primary-nav .current-menu-parent > a,
.primary-nav .current-menu-ancestor > a,
.primary-nav .current_page_item > a,
.primary-nav .current_page_parent > a,
.primary-nav .current_page_ancestor > a,
.primary-nav .tt-is-active > a,
.primary-menu .current-menu-item > a,
.primary-menu .current-menu-parent > a,
.primary-menu .current-menu-ancestor > a,
.primary-menu .current_page_item > a,
.primary-menu .current_page_parent > a,
.primary-menu .current_page_ancestor > a,
.primary-menu .tt-is-active > a {
	color: #7886C7;
	font-weight: 600;
}

.primary-nav .current-menu-item > a::after,
.primary-nav .current-menu-parent > a::after,
.primary-nav .current-menu-ancestor > a::after,
.primary-nav .current_page_item > a::after,
.primary-nav .current_page_parent > a::after,
.primary-nav .current_page_ancestor > a::after,
.primary-nav .tt-is-active > a::after,
.primary-menu .current-menu-item > a::after,
.primary-menu .current-menu-parent > a::after,
.primary-menu .current-menu-ancestor > a::after,
.primary-menu .current_page_item > a::after,
.primary-menu .current_page_parent > a::after,
.primary-menu .current_page_ancestor > a::after,
.primary-menu .tt-is-active > a::after {
	background: #7886C7;
	border-radius: 20px;
	bottom: -10px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	right: 0;
}

.header-icon.tt-is-active,
.header-cart.tt-is-active,
.header-icon.is-active,
.header-cart.is-active {
	background: #FFFFFF;
	color: #7886C7;
}

.header-icon--wishlist.tt-is-active svg,
.header-icon--wishlist.is-active svg {
	fill: currentColor;
}

.shop-tabs a.is-active {
	border-bottom: 2px solid #7886C7 !important;
	color: #7886C7 !important;
	font-weight: 500 !important;
}

@media (max-width: 767px) {
	.primary-nav .current-menu-item > a,
	.primary-nav .current-menu-parent > a,
	.primary-nav .current-menu-ancestor > a,
	.primary-nav .current_page_item > a,
	.primary-nav .current_page_parent > a,
	.primary-nav .current_page_ancestor > a,
	.primary-nav .tt-is-active > a {
		background: rgba(120, 134, 199, 0.10);
		border-radius: 8px;
		color: #7886C7;
		font-weight: 600;
		min-height: 44px;
		padding-left: 12px;
		padding-right: 12px;
	}

	.primary-nav .current-menu-item > a::after,
	.primary-nav .current-menu-parent > a::after,
	.primary-nav .current-menu-ancestor > a::after,
	.primary-nav .current_page_item > a::after,
	.primary-nav .current_page_parent > a::after,
	.primary-nav .current_page_ancestor > a::after,
	.primary-nav .tt-is-active > a::after {
		display: none;
	}

	.tt-price,
	.woocommerce ul.products li.product .price .tt-price {
		gap: 4px 7px;
	}

	.tt-price__regular,
	.tt-price__discount,
	.tiny-discount {
		font-size: 13px !important;
	}

	.tt-price__sale {
		font-size: 15px !important;
	}
}
