: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;
	--tt-body: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* 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;
	}
}

/* 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: 700;
}

.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: 700;
	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 */
.tt-sustainability {
	background: #f5f2f1;
	color: #181d27;
	font-family: "Outfit", "Nunito", sans-serif;
	overflow: hidden;
}

.tt-sus-intro {
	margin: 0 auto;
	max-width: 1120px;
	padding: 74px 24px 42px;
	text-align: center;
}

.tt-sus-intro .tt-sus-kicker {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
	margin: 0 auto 28px;
	max-width: 1060px;
}

.tt-sus-intro h1,
.tt-sus-center h2 {
	color: #181d27;
	font-size: 27px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 0 24px;
}

.tt-sus-intro p,
.tt-sus-center p,
.tt-sus-list li {
	color: #111827;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.5;
}

.tt-sus-row {
	align-items: center;
	display: grid;
	gap: 76px;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	margin: 0 auto;
	max-width: 1210px;
	padding: 46px 24px;
}

.tt-sus-row--reverse {
	padding-top: 34px;
}

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

.tt-sus-media img {
	border-radius: 18px;
	display: block;
	height: auto;
	width: 100%;
}

.tt-sus-copy h2,
.tt-sus-cert h2 {
	color: #7680c6;
	font-size: 21px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 26px;
}

.tt-sus-list {
	display: grid;
	gap: 24px;
	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: 7px solid transparent;
	border-left: 9px solid #7680c6;
	border-top: 7px solid transparent;
	content: "";
	left: 0;
	position: absolute;
	top: 5px;
}

.tt-sus-list strong {
	font-weight: 900;
}

.tt-sus-center {
	margin: 0 auto;
	max-width: 1080px;
	padding: 44px 24px 18px;
	text-align: center;
}

.tt-sus-center h2 {
	color: #7680c6;
	margin-bottom: 22px;
}

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

.tt-sus-cert {
	margin: 0 auto;
	max-width: 1210px;
	padding: 42px 24px 30px;
}

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

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

.tt-sus-cert-grid {
	column-gap: 80px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	row-gap: 30px;
}

.tt-sus-logos {
	padding: 46px 24px 104px;
}

.tt-sus-logo-band {
	align-items: center;
	border-bottom: 1px solid rgba(170, 170, 170, 0.18);
	border-top: 1px solid rgba(170, 170, 170, 0.18);
	box-shadow: 0 0 24px rgba(170, 170, 170, 0.18);
	display: flex;
	justify-content: center;
	margin: 0 auto;
	max-width: 720px;
	padding: 34px 46px;
}

.tt-sus-logo-band img {
	display: block;
	height: auto;
	max-width: 560px;
	width: 100%;
}

@media (max-width: 1024px) {
	.tt-sus-intro {
		padding-top: 54px;
	}

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

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

@media (max-width: 767px) {
	.tt-sus-intro {
		padding: 42px 18px 24px;
	}

	.tt-sus-intro .tt-sus-kicker {
		font-size: 14px;
	}

	.tt-sus-intro h1,
	.tt-sus-center h2 {
		font-size: 24px;
	}

	.tt-sus-row,
	.tt-sus-row--reverse {
		gap: 26px;
		grid-template-columns: 1fr;
		padding: 30px 18px;
	}

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

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

	.tt-sus-copy h2,
	.tt-sus-cert h2 {
		font-size: 19px;
	}

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

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

	.tt-sus-center {
		padding: 28px 18px 14px;
	}

	.tt-sus-cert {
		padding: 28px 18px;
	}

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

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

/* Contact page */
.tt-contact-page {
	background: #f5f2f1;
	color: #000;
	font-family: "Outfit", var(--tt-body);
}

.tt-contact-wrap {
	margin: 0 auto;
	max-width: 2048px;
	padding: 136px 66px 108px;
}

.tt-contact-title {
	color: #000;
	font-size: 56px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.1;
	margin: 0 0 96px;
	text-align: center;
}

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

.tt-contact-card {
	align-items: center;
	background: #e6dbd1;
	border-radius: 40px;
	display: flex;
	flex-direction: column;
	min-height: 622px;
	padding: 118px 82px 72px;
	text-align: center;
}

.tt-contact-card h2 {
	color: #000;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.22;
	margin: 0 0 38px;
}

.tt-contact-card p,
.tt-contact-copy,
.tt-contact-hours {
	color: #000;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.38;
	margin: 0;
}

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

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

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

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

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

.tt-contact-card a {
	color: #6d79b8;
	font-weight: 800;
	text-decoration: none;
}

.tt-contact-card a:hover {
	color: #5864aa;
	text-decoration: underline;
}

@media (max-width: 1280px) {
	.tt-contact-wrap {
		padding: 96px 40px 84px;
	}

	.tt-contact-title {
		font-size: 46px;
		margin-bottom: 70px;
	}

	.tt-contact-grid {
		gap: 28px;
	}

	.tt-contact-card {
		border-radius: 32px;
		min-height: 520px;
		padding: 86px 40px 58px;
	}

	.tt-contact-card h2 {
		font-size: 23px;
	}

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

@media (max-width: 900px) {
	.tt-contact-wrap {
		padding: 72px 24px;
	}

	.tt-contact-title {
		font-size: 38px;
		margin-bottom: 44px;
	}

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

	.tt-contact-card {
		min-height: 0;
		padding: 58px 32px;
	}
}

@media (max-width: 520px) {
	.tt-contact-wrap {
		padding: 52px 16px;
	}

	.tt-contact-title {
		font-size: 32px;
	}

	.tt-contact-card {
		border-radius: 24px;
		padding: 42px 22px;
	}

	.tt-contact-card h2 {
		font-size: 21px;
		margin-bottom: 26px;
	}

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

/* Blog page */
.tt-blog-page {
	background: #f5f2f1;
	color: #000;
	font-family: "Outfit", var(--tt-body);
	min-height: 70vh;
}

.tt-blog-wrap {
	margin: 0 auto;
	max-width: 1460px;
	padding: 150px 66px 170px;
}

.tt-blog-title {
	color: #181d27;
	font-size: 46px;
	font-weight: 800;
	line-height: 1.05;
	margin: 0 0 56px;
	text-align: center;
}

.tt-blog-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 44px;
	row-gap: 92px;
}

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

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

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

.tt-blog-card__placeholder {
	background:
		linear-gradient(135deg, rgba(109, 121, 184, 0.12), rgba(255, 255, 255, 0.45)),
		#e7e2df;
}

.tt-blog-card__date {
	color: #6d79b8;
	display: block;
	font-size: 22px;
	font-weight: 800;
	line-height: 1;
	margin-top: 34px;
}

.tt-blog-card__title {
	font-size: 34px;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.14;
	margin: 22px 0 0;
	max-width: 660px;
}

.tt-blog-card__title a {
	color: #000;
	text-decoration: none;
}

.tt-blog-card__title a:hover,
.tt-blog-card__title a:focus-visible {
	color: #6d79b8;
}

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

.tt-blog-pagination .page-numbers {
	align-items: center;
	border: 1px solid rgba(109, 121, 184, 0.35);
	border-radius: 999px;
	color: #6d79b8;
	display: inline-flex;
	font-size: 15px;
	font-weight: 800;
	height: 40px;
	justify-content: center;
	min-width: 40px;
	padding: 0 14px;
	text-decoration: none;
}

.tt-blog-pagination .page-numbers.current {
	background: #6d79b8;
	color: #fff;
}

.tt-blog-empty {
	margin: 0 auto;
	max-width: 620px;
	text-align: center;
}

.tt-blog-empty h2 {
	font-size: 34px;
	margin: 0 0 12px;
}

.tt-blog-empty p {
	color: #636363;
	font-size: 18px;
	margin: 0;
}

@media (max-width: 1100px) {
	.tt-blog-wrap {
		padding: 112px 36px 130px;
	}

	.tt-blog-grid {
		column-gap: 30px;
	}

	.tt-blog-card__date {
		font-size: 20px;
		margin-top: 26px;
	}

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

@media (max-width: 760px) {
	.tt-blog-wrap {
		padding: 70px 18px 92px;
	}

	.tt-blog-grid {
		grid-template-columns: 1fr;
		row-gap: 58px;
	}

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

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

	.tt-blog-card__title {
		font-size: 25px;
		line-height: 1.18;
		margin-top: 16px;
	}
}

/* FAQ page */
.tt-faq-page {
	background: #f5f2f1;
	color: #181d27;
	font-family: "Outfit", var(--tt-body);
}

.tt-faq-hero {
	background: #737dc0;
	color: #fff;
	padding: 10px 24px 96px;
	text-align: center;
}

.tt-faq-eyebrow {
	color: #fff;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.1;
	margin: 0 0 14px;
}

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

.tt-faq-panel {
	background: #f5f2f1;
	border-radius: 42px 42px 0 0;
	margin-top: -38px;
	padding: 145px 52px 112px;
	position: relative;
}

.tt-faq-inner {
	margin: 0 auto;
	max-width: 1808px;
}

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

.tt-faq-group h2 {
	align-items: center;
	background: #c7a488;
	border-radius: 16px;
	color: #fff;
	display: flex;
	font-size: 28px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.15;
	margin: 0 0 20px;
	min-height: 76px;
	padding: 20px 28px;
}

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

.tt-faq-item {
	background: transparent;
	border: 2px solid #8993da;
	border-radius: 17px;
	overflow: hidden;
}

.tt-faq-question {
	align-items: center;
	background: transparent;
	border: 0;
	color: #747fc4;
	cursor: pointer;
	display: flex;
	font-family: inherit;
	font-size: 28px;
	font-weight: 800;
	justify-content: flex-start;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0;
	min-height: 78px;
	padding: 22px 28px;
	text-align: left;
	width: 100%;
}

.tt-faq-question:focus-visible {
	outline: 3px solid rgba(115, 125, 192, 0.35);
	outline-offset: -6px;
}

.tt-faq-answer {
	color: #111;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.45;
	padding: 0 28px 30px;
}

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

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

@media (max-width: 1024px) {
	.tt-faq-panel {
		padding: 96px 28px 84px;
	}

	.tt-faq-group h2 {
		font-size: 24px;
		min-height: 68px;
	}

	.tt-faq-question {
		font-size: 22px;
		min-height: 68px;
	}

	.tt-faq-answer {
		font-size: 18px;
	}
}

@media (max-width: 640px) {
	.tt-faq-hero {
		padding: 18px 18px 78px;
	}

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

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

	.tt-faq-panel {
		border-radius: 28px 28px 0 0;
		margin-top: -28px;
		padding: 58px 16px 64px;
	}

	.tt-faq-group {
		margin-bottom: 18px;
	}

	.tt-faq-group h2 {
		border-radius: 12px;
		font-size: 19px;
		min-height: 56px;
		padding: 16px 18px;
	}

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

	.tt-faq-item {
		border-radius: 12px;
		border-width: 1.5px;
	}

	.tt-faq-question {
		font-size: 18px;
		min-height: 58px;
		padding: 16px 18px;
	}

	.tt-faq-answer {
		font-size: 15px;
		line-height: 1.5;
		padding: 0 18px 20px;
	}
}

.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: Outfit, Nunito, Arial, sans-serif !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: Outfit, Nunito, sans-serif;
	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: Outfit, Nunito, sans-serif;
	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: Outfit, Nunito, sans-serif;
	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: Outfit, Nunito, sans-serif;
	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: 700;
}

.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: 700;
}

.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: 700;
}

.tt-place-order {
	background: #6d79b8 !important;
	border: 0 !important;
	border-radius: 4px !important;
	color: #fff !important;
	font-family: Outfit, Nunito, sans-serif;
	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: 231px 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: Outfit, Nunito, sans-serif;
	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: Outfit, Nunito, sans-serif;
	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: Outfit, Nunito, sans-serif;
	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: Outfit, Nunito, sans-serif;
	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: Outfit, Nunito, sans-serif;
	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: "Outfit", var(--tt-body);
	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: "Outfit", var(--tt-body);
	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: 700;
	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;
}

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: 700;
	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-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, 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%;
}

.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-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: 700;
	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: 700;
	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-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: 700;
	justify-content: center;
	line-height: 1.2;
	padding: 0 20px;
	text-align: center;
}

.category-section.home-categories {
	background: #F5F2F1;
	/* padding: 120px 0 110px; */
}

.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 70px;
	max-width: none;
	padding: 0 34px;
}

.category-section.home-categories .home-categories__title {
	color: #141A24;
	font-family: "Outfit", var(--tt-body);
	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: "Outfit", var(--tt-body);
	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: 48px 24px;
	grid-template-columns: repeat(3, minmax(0, 580px));
	justify-content: center;
	margin: 0 auto;
	max-width: 1792px;
	width: calc(100% - 128px);
}

.category-section.home-categories .home-category-card {
	background: #fff;
	border-radius: 32px;
	box-shadow: 0 0 20.9px #E4E4E4;
	display: block;
	height: 580px;
	min-height: 0;
	overflow: hidden;
	text-decoration: none;
	transition: none;
	width: 100%;
}

.category-section.home-categories .home-category-card:hover {
	box-shadow: 0 0 20.9px #E4E4E4;
	transform: none;
}

.category-section.home-categories .home-category-card__image {
	align-items: center;
	background: rgba(109, 121, 184, 0.15);
	display: flex;
	height: 480px;
	justify-content: center;
	overflow: hidden;
	padding: 0;
	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%;
	/* object-fit: cover; */
	width: 100%;
}

.category-section.home-categories .home-category-card__title {
	align-items: center;
	background: #fff;
	border-top: 0;
	color: #414651;
	display: flex;
	font-family: "Outfit", var(--tt-body);
	font-size: 38px;
	font-weight: 500;
	height: 100px;
	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(280px, 580px));
		width: calc(100% - 64px);
	}

	.category-section.home-categories .home-category-card {
		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 {
		grid-template-columns: 1fr;
		padding: 0 20px;
		width: 100%;
	}

	.category-section.home-categories .home-category-card {
		height: auto;
		width: 100%;
	}

	.category-section.home-categories .home-category-card__image {
		height: 300px;
		width: 100%;
	}

	.category-section.home-categories .home-category-card__title {
		font-size: 24px;
		height: 76px;
	}
}

.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: "Outfit", var(--tt-body);
	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: "Outfit", var(--tt-body);
	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: "Outfit", var(--tt-body);
	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 {
	gap: 24px;
	grid-template-columns: repeat(4, minmax(0, 452px));
	height: 705px;
	justify-content: center;
	max-width: 1856px;
	overflow: hidden;
}

.featured-products.home-best-sellers .woocommerce ul.products li.product {
	height: 705px;
	width: 100% !important;
}

.featured-products.home-best-sellers .woocommerce ul.products li.product .product-card-shell {
	background: transparent;
	display: flex;
	flex-direction: column;
	height: 705px;
	width: 100%;
}

.featured-products.home-best-sellers .woocommerce ul.products li.product .product-image-wrap {
	aspect-ratio: auto;
	background: #D9D9D9;
	height: 560px;
	width: 100%;
}

.featured-products.home-best-sellers .woocommerce ul.products li.product .product-image-wrap img {
	height: 100% !important;
	object-fit: contain;
	width: 100% !important;
}

.featured-products.home-best-sellers .woocommerce ul.products li.product .product-heart {
	background: #fff;
	height: 50px;
	right: 24px;
	top: 24px;
	width: 50px;
}

.featured-products.home-best-sellers .woocommerce ul.products li.product .product-heart svg {
	height: 24px;
	width: 24px;
}

.featured-products.home-best-sellers .woocommerce ul.products li.product .product-badge,
.featured-products.home-best-sellers .woocommerce ul.products li.product .onsale {
	background: #6D79B8;
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-family: "Outfit", var(--tt-body);
	font-size: 14px;
	font-weight: 600;
	left: 24px;
	line-height: 1;
	padding: 8px 14px;
	position: absolute;
	top: 24px;
	z-index: 2;
}

.featured-products.home-best-sellers .woocommerce ul.products li.product .quick-view-trigger {
	background: #fff;
	bottom: 32px;
	color: #414651;
	font-family: "Outfit", var(--tt-body);
	font-size: 24px;
	font-weight: 500;
	left: 32px;
	height: 60px;
	min-height: 60px;
	right: 32px;
}

.featured-products.home-best-sellers .woocommerce ul.products li.product .product-card-info {
	display: flex;
	flex-direction: column;
	padding-top: 24px;
}

.featured-products.home-best-sellers .woocommerce ul.products li.product .woocommerce-loop-product__title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: #414651;
	display: -webkit-box;
	font-family: "Outfit", var(--tt-body);
	font-size: 28px;
	font-weight: 400;
	line-height: 1.25;
	margin: 0 0 16px;
	max-width: 354px;
	max-height: 80px;
	min-height: 40px;
	overflow: hidden;
	padding: 0;
	text-overflow: ellipsis;
}

.featured-products.home-best-sellers .woocommerce ul.products li.product .price {
	align-items: center;
	color: #181D27;
	display: flex;
	flex-wrap: nowrap;
	font-family: "Outfit", var(--tt-body);
	font-size: 24px;
	font-weight: 600;
	gap: 10px;
	height: 40px;
	line-height: 1;
	margin: 0;
	max-width: 346px;
	white-space: nowrap;
}

.featured-products.home-best-sellers .woocommerce ul.products li.product .price del {
	color: #98A2B3;
	font-weight: 400;
	margin-left: 0;
	opacity: 1;
	text-decoration: line-through;
}

.featured-products.home-best-sellers .woocommerce ul.products li.product .price ins {
	color: #181D27;
	font-weight: 600;
	text-decoration: none;
}

.featured-products.home-best-sellers .woocommerce ul.products li.product .tiny-discount {
	color: #6D79B8;
	font-size: 24px;
	font-weight: 500;
	margin-left: 0;
}

@media (max-width: 1199px) {
	.featured-products.home-best-sellers .best-sellers__header,
	.featured-products.home-best-sellers .woocommerce {
		width: calc(100% - 64px);
	}

	.featured-products.home-best-sellers .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 452px));
	}
}

@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 {
		grid-template-columns: 1fr;
		height: auto;
	}

	.featured-products.home-best-sellers .woocommerce ul.products li.product,
	.featured-products.home-best-sellers .woocommerce ul.products li.product .product-card-shell {
		height: auto;
	}

	.featured-products.home-best-sellers .woocommerce ul.products li.product .product-image-wrap {
		height: 360px;
	}

	.featured-products.home-best-sellers .woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 26px;
	}

	.featured-products.home-best-sellers .woocommerce ul.products li.product .price,
	.featured-products.home-best-sellers .woocommerce ul.products li.product .tiny-discount {
		font-size: 20px;
	}
}

.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: 700;
	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: 700;
	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: 700;
	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: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	height: 681px;
	padding: 0;
	width: 1056px;
}

.feature-band .eyebrow {
	color: #6d79b8;
	font-family: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	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: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	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: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	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: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	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: 700;
	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 {
	border-bottom: 2px solid #cdd3f7;
	color: #181d27;
	display: flex;
	font-family: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	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;
}

.feature-tags span:first-child {
	border-bottom-color: #6d79b8;
}

@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 {
		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: 700;
}

.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: 700;
	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: 600px 600px;
	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: 700;
}

.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: 700;
}

.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: 700;
	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: 700;
	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 {
	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 {
	background: transparent;
	height: 516px;
	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 {
	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 {
	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 {
	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 {
	transform: scale(1.03);
}

.post-type-archive-product ul.products li.product .product-heart,
.tax-product_cat 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 {
	background: #fff;
	color: #df0000;
}

.post-type-archive-product ul.products li.product .product-badge,
.tax-product_cat 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 {
	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 {
	color: #414651;
	display: block;
	font-family: Outfit, var(--tt-font, sans-serif);
	font-size: 24px;
	font-weight: 400;
	height: 30px;
	line-height: 1;
	margin: 0 0 8px;
	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 {
	align-items: center;
	color: #111827;
	display: flex;
	flex-wrap: nowrap;
	font-size: 20px;
	font-weight: 700;
	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 {
	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 {
	color: #111827;
	font-size: 20px;
	font-weight: 700;
	text-decoration: none;
}

.post-type-archive-product ul.products li.product .tiny-discount,
.tax-product_cat 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 {
	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: Outfit, var(--tt-font, sans-serif);
	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 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.post-type-archive-product ul.products li.product,
	.tax-product_cat 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,
	.post-type-archive-product ul.products li.product .product-image-wrap,
	.tax-product_cat 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 {
		aspect-ratio: 415 / 420;
		height: auto;
	}
}

@media (max-width: 1399px) {
	.post-type-archive-product ul.products,
	.tax-product_cat 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 {
		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 {
		gap: 38px;
		grid-template-columns: minmax(0, 100%);
	}

	.post-type-archive-product ul.products li.product,
	.tax-product_cat 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 {
		height: auto;
		max-width: 100%;
	}

	.post-type-archive-product ul.products li.product .product-heart,
	.tax-product_cat 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 {
		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 {
		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 {
		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: 700;
	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: 700;
	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: 700;
	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: 700;
}

.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: 700;
	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: 700;
	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: 700;
	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: transparent;
	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: 700;
	text-align: center;
}

.modal-qty input {
	appearance: textfield;
	background: transparent;
	border: 0;
	color: var(--tt-ink);
	font-size: 20px;
	font-weight: 700;
	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: 700;
	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: "";
	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: 700;
}

.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: 700;
	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: 700;
}

.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: 700;
	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: 700;
	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: 700;
	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: 700;
}

.tt-order-item__body span {
	color: var(--tt-muted);
}

.tt-order-item__price {
	font-size: 15px;
	font-weight: 700;
	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: 700;
	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: 700;
	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: 700;
}

/* ── 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: 700;
}

/* ── 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%;
}

.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: 700;
	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));
	}

	/* Best Sellers homepage: 2 columns on tablet */
	.featured-products .woocommerce ul.products,
	.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 {
		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: "Outfit", var(--tt-body);
	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: "Outfit", var(--tt-body);
	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: 700;
	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;
}

.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 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;
	}
}
