/* Restyling 2026 — design system "Sartorial Warmth 1930" */

body.tdb-rs {
	--tm-navy: #1b3b4b;
	--tm-navy-deep: #012535;
	--tm-ink: #131d22;
	--tm-teal: #46717e;
	--tm-terracotta: #c98a60;
	--tm-graphite: #505a60;
	--tm-muted: #72787c;
	--tm-cream: #faf8f5;
	--tm-subtle: #f6f7f9;
	--tm-crimson: #a63a38;
	--tm-olive: #5a684b;
	--tm-hair: rgba(27, 59, 75, .1);
	--tm-hair-strong: rgba(27, 59, 75, .22);
	--tm-shadow: 0 12px 32px -4px rgba(27, 59, 75, .08), 0 4px 12px -2px rgba(27, 59, 75, .04);
	--tm-serif: "Playfair Display", Georgia, serif;
	--tm-sans: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--tm-radius: 4px;
	background: #fff;
	color: var(--tm-graphite);
}

/* ---------- Typography ---------- */

body.tdb-rs,
body.tdb-rs p,
body.tdb-rs li,
body.tdb-rs td,
body.tdb-rs th,
body.tdb-rs label,
body.tdb-rs input,
body.tdb-rs select,
body.tdb-rs textarea,
body.tdb-rs button,
body.tdb-rs .button,
body.tdb-rs a.button,
body.tdb-rs #menu > ul > li > a,
body.tdb-rs .elementor-widget-text-editor {
	font-family: var(--tm-sans);
	-webkit-font-smoothing: antialiased;
}

body.tdb-rs h1,
body.tdb-rs h2,
body.tdb-rs h3,
body.tdb-rs h4,
body.tdb-rs h5,
body.tdb-rs h6,
body.tdb-rs .elementor-heading-title {
	font-family: var(--tm-serif);
	color: var(--tm-navy);
	letter-spacing: 0;
}

body.tdb-rs .tm-overline {
	margin: 0 0 6px;
	font: 600 11px/16px var(--tm-sans);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--tm-teal);
}

body.tdb-rs .tm-container {
	box-sizing: border-box;
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
}

body.tdb-rs .tm-icon {
	width: 20px;
	height: 20px;
	flex: none;
}

/* ---------- Buttons ---------- */

body.tdb-rs .button,
body.tdb-rs a.button,
body.tdb-rs button.button,
body.tdb-rs input[type="submit"],
body.tdb-rs input[type="button"],
body.tdb-rs .tm-btn,
body.tdb-rs .elementor-button,
body.tdb-rs .woocommerce a.button,
body.tdb-rs .woocommerce button.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	margin: 0;
	padding: 10px 24px;
	border: 1.5px solid var(--tm-navy);
	border-radius: var(--tm-radius);
	background: var(--tm-navy);
	box-shadow: none;
	color: #fff;
	font: 600 12px/1.2 var(--tm-sans);
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color .2s, border-color .2s, color .2s;
}

body.tdb-rs .button:hover,
body.tdb-rs a.button:hover,
body.tdb-rs button.button:hover,
body.tdb-rs input[type="submit"]:hover,
body.tdb-rs .tm-btn:hover,
body.tdb-rs .elementor-button:hover {
	border-color: var(--tm-teal);
	background: var(--tm-teal);
	color: #fff;
}

body.tdb-rs .tm-btn--outline {
	background: transparent;
	color: var(--tm-navy);
}

body.tdb-rs .tm-btn--outline:hover {
	color: #fff;
}

body.tdb-rs .tm-btn--olive {
	border-color: var(--tm-olive);
	background: var(--tm-olive);
}

body.tdb-rs .tm-btn--olive:hover {
	border-color: #48553b;
	background: #48553b;
}

body.tdb-rs .tm-btn--block {
	display: flex;
	width: 100%;
	box-sizing: border-box;
}

body.tdb-rs .tm-btn .tm-icon {
	width: 18px;
	height: 18px;
}

/* ---------- Forms ---------- */

body.tdb-rs input[type="text"],
body.tdb-rs input[type="email"],
body.tdb-rs input[type="tel"],
body.tdb-rs input[type="number"],
body.tdb-rs input[type="password"],
body.tdb-rs input[type="search"],
body.tdb-rs select,
body.tdb-rs textarea,
body.tdb-rs .select2-container--default .select2-selection--single {
	box-sizing: border-box;
	min-height: 44px;
	padding: 10px 14px;
	border: 1px solid rgba(80, 90, 96, .28);
	border-radius: var(--tm-radius);
	background-color: #fff;
	box-shadow: none;
	color: var(--tm-ink);
	font-size: 14px;
}

body.tdb-rs input:focus,
body.tdb-rs select:focus,
body.tdb-rs textarea:focus {
	border-color: var(--tm-navy);
	outline: 0;
	box-shadow: 0 0 0 1px var(--tm-navy);
}

body.tdb-rs .select2-container--default .select2-selection--single {
	display: flex;
	align-items: center;
	height: 44px;
}

body.tdb-rs .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 9px;
}

/* ---------- Action bar ---------- */

body.tdb-rs #Action_bar {
	position: relative;
	z-index: 3;
	background: var(--tm-ink);
}

body.tdb-rs #Action_bar .column.one {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 38px;
	margin: 0;
	padding: 0 24px;
}

body.tdb-rs #Action_bar .contact_details,
body.tdb-rs #Action_bar .social-menu {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0;
	padding: 0;
	float: none;
}

body.tdb-rs #Action_bar .contact_details li,
body.tdb-rs #Action_bar .social-menu li,
body.tdb-rs #Action_bar .social-menu a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	border: 0;
	color: #e8f2f9;
	font: 600 11px/16px var(--tm-sans);
	letter-spacing: .08em;
	text-transform: uppercase;
}

body.tdb-rs #Action_bar .slogan::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #e4675f;
	animation: tm-pulse 2s infinite;
}

body.tdb-rs #Action_bar .slogan strong {
	color: #fdb78a;
	letter-spacing: .12em;
}

body.tdb-rs #Action_bar .tm-ab-place {
	padding-left: 18px !important;
	border-left: 1px solid rgba(255, 255, 255, .2) !important;
	color: #a7b4bc !important;
}

body.tdb-rs #Action_bar .tm-icon {
	width: 15px;
	height: 15px;
}

@keyframes tm-pulse {
	50% { opacity: .35; }
}

/* ---------- Header ---------- */

body.tdb-rs #Header_wrapper,
body.tdb-rs #Header {
	background: transparent;
}

body.tdb-rs #Top_bar {
	position: relative;
	top: 0;
	border-bottom: 1px solid var(--tm-hair);
	background: var(--tm-cream);
}

body.tdb-rs #Top_bar.is-sticky {
	background: var(--tm-cream) !important;
	opacity: 1 !important;
	box-shadow: var(--tm-shadow);
}

body.tdb-rs #Top_bar .top_bar_row-first {
	display: flex;
	align-items: center;
	gap: 32px;
	min-height: 84px;
}

body.tdb-rs #Top_bar .logo {
	flex: none;
	margin: 0;
	padding: 0;
	border: 0;
}

body.tdb-rs #Top_bar #logo {
	display: flex;
	align-items: center;
	height: 84px;
	padding: 0;
	line-height: 84px;
}

body.tdb-rs #Top_bar #logo img {
	max-height: 66px;
	width: auto;
}

body.tdb-rs #Top_bar.is-sticky #logo,
body.tdb-rs #Top_bar.is-sticky .top_bar_row-first {
	height: 64px;
	min-height: 64px;
	line-height: 64px;
}

body.tdb-rs #Top_bar.is-sticky #logo img {
	max-height: 50px;
}

body.tdb-rs #Top_bar .top_bar_right {
	display: flex;
	flex: 1;
	align-items: center;
	height: auto;
	padding: 0;
	background: none;
}

body.tdb-rs #Top_bar .top_bar_right::before {
	display: none;
}

body.tdb-rs #Top_bar .top_bar_right_wrapper {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: flex-end;
	gap: 22px;
	position: static;
	top: auto;
	padding: 0;
}

body.tdb-rs #Top_bar .top-bar-right-input {
	flex: 1;
	max-width: 440px;
	margin: 0 auto 0 8px;
}

body.tdb-rs #Top_bar .top-bar-right-input form {
	position: relative;
	width: 100%;
}

body.tdb-rs #Top_bar .top-bar-right-input svg {
	position: absolute;
	top: 50%;
	left: 10px;
	width: 22px;
	transform: translateY(-50%);
}

body.tdb-rs #Top_bar .top-bar-right-input input.field {
	width: 100%;
	height: 42px;
	padding-left: 40px;
	border: 1px solid var(--tm-hair-strong);
	background: #fff;
	font-size: 13px;
}

body.tdb-rs #Top_bar .top-bar-right-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	color: var(--tm-navy);
}

body.tdb-rs #Top_bar .top-bar-right-icon svg {
	width: 26px;
}

body.tdb-rs #Top_bar .top-bar-right-icon svg .path {
	stroke: var(--tm-navy);
}

body.tdb-rs #Top_bar .top-bar-right-icon-cart {
	padding-left: 20px;
	border-left: 1px solid var(--tm-hair-strong);
}

body.tdb-rs #Top_bar .header-wishlist-count,
body.tdb-rs #Top_bar .header-cart-count {
	top: -6px;
	right: -9px;
	min-width: 17px;
	height: 17px;
	border-radius: 9px;
	background: var(--tm-crimson);
	color: #fff;
	font: 700 10px/17px var(--tm-sans);
}

body.tdb-rs #Top_bar #header_cart .header-cart-count {
	position: absolute;
	top: -7px !important;
	left: 34px !important;
	right: auto !important;
	margin: 0 !important;
	background: var(--tm-navy);
}

body.tdb-rs #Top_bar .header-cart-total {
	margin: 0;
	color: var(--tm-navy);
	font: 700 13px/1 var(--tm-sans);
}

body.tdb-rs #Top_bar .responsive-menu-toggle {
	height: 34px;
	color: var(--tm-navy);
	line-height: 34px !important;
}

body.tdb-rs #Top_bar .responsive-menu-toggle i {
	line-height: 34px !important;
	vertical-align: top;
}

body.tdb-rs #Top_bar .top_bar_row_second {
	border-top: 1px solid var(--tm-hair);
}

body.tdb-rs #Top_bar .menu_wrapper {
	float: none;
	display: flex;
	justify-content: center;
}

body.tdb-rs #Top_bar #menu > ul > li > a {
	padding: 0 !important;
	color: #42474b;
}

body.tdb-rs #Top_bar #menu > ul > li > a > span:not(.description) {
	padding: 14px 13px !important;
	font: 600 11px/18px var(--tm-sans) !important;
	letter-spacing: .14em;
	text-transform: uppercase;
}

body.tdb-rs #Top_bar #menu > ul > li > a::after {
	display: none;
}

body.tdb-rs #Top_bar #menu > ul > li > a > span:not(.description) {
	border-bottom: 2px solid transparent;
}

body.tdb-rs #Top_bar #menu > ul > li.current-menu-item > a,
body.tdb-rs #Top_bar #menu > ul > li.current-menu-ancestor > a,
body.tdb-rs #Top_bar #menu > ul > li > a:hover {
	color: var(--tm-navy);
}

body.tdb-rs #Top_bar #menu > ul > li.current-menu-item > a > span:not(.description),
body.tdb-rs #Top_bar #menu > ul > li.current-menu-ancestor > a > span:not(.description) {
	border-bottom-color: var(--tm-navy);
}

body.tdb-rs #Top_bar #menu > ul > li > a[href*="/outlet/"] {
	color: var(--tm-crimson);
}

body.tdb-rs #Top_bar #menu ul.sub-menu,
body.tdb-rs #Top_bar #menu .mfn-megamenu {
	border: 1px solid var(--tm-hair);
	border-top: 2px solid var(--tm-navy);
	background: #fff;
	box-shadow: var(--tm-shadow);
}

body.tdb-rs #Top_bar #menu ul.sub-menu li a {
	border: 0;
	color: var(--tm-graphite);
	font: 500 13px/20px var(--tm-sans);
	letter-spacing: 0;
	text-transform: none;
}

body.tdb-rs #Top_bar #menu ul.sub-menu li a:hover {
	background: var(--tm-cream);
	color: var(--tm-navy);
}

body.tdb-rs .mfn-live-search-box {
	border: 1px solid var(--tm-hair);
	border-radius: var(--tm-radius);
	box-shadow: var(--tm-shadow);
}

/* ---------- Subheader ---------- */

body.tdb-rs #Subheader {
	padding: 26px 0 24px;
	border-bottom: 1px solid var(--tm-hair);
	background: var(--tm-cream);
}

body.tdb-rs #Subheader .column.one {
	display: flex;
	flex-direction: column-reverse;
	gap: 6px;
	margin-bottom: 0;
}

body.tdb-rs #Subheader .title {
	margin: 0;
	color: var(--tm-navy);
	font: 600 36px/44px var(--tm-serif);
}

body.tdb-rs #Subheader ul.breadcrumbs {
	position: static;
	margin: 0;
	padding: 0;
	float: none;
	font-size: 12px;
	text-align: left;
	color: var(--tm-muted);
}

body.tdb-rs #Subheader ul.breadcrumbs li,
body.tdb-rs #Subheader ul.breadcrumbs li a {
	color: var(--tm-muted);
	font: 500 12px/18px var(--tm-sans);
}

body.tdb-rs #Subheader ul.breadcrumbs li:last-child {
	color: var(--tm-navy);
}

body.tdb-rs #Subheader ul.breadcrumbs li:last-child span,
body.tdb-rs #Subheader ul.breadcrumbs span i {
	opacity: .6;
}

body.tdb-rs #Subheader ul.breadcrumbs li:last-child span {
	display: none;
}

/* ---------- Trust ribbon ---------- */

body.tdb-rs .tm-ribbon {
	border-top: 1px solid var(--tm-hair);
	border-bottom: 1px solid var(--tm-hair);
	background: var(--tm-cream);
}

body.tdb-rs .tm-ribbon__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.tdb-rs .tm-ribbon__item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 24px 22px;
	color: var(--tm-navy);
}

body.tdb-rs .tm-ribbon__item + .tm-ribbon__item {
	border-left: 1px solid var(--tm-hair);
}

body.tdb-rs .tm-ribbon__item .tm-icon {
	width: 24px;
	height: 24px;
	margin-top: 2px;
}

body.tdb-rs .tm-ribbon__title {
	margin: 0 0 3px;
	color: var(--tm-navy);
	font: 700 11px/16px var(--tm-sans);
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.tdb-rs .tm-ribbon__text {
	margin: 0;
	color: var(--tm-graphite);
	font: 400 13px/19px var(--tm-sans);
}

/* ---------- Footer ---------- */

body.tdb-rs #Footer {
	display: none;
}

body.tdb-rs .tm-footer {
	padding: 64px 0 0;
	background: #fff;
	color: var(--tm-graphite);
}

body.tdb-rs .tm-footer__grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
	gap: 40px;
	padding-bottom: 48px;
}

body.tdb-rs .tm-footer__name {
	margin: 0 0 10px;
	color: var(--tm-navy);
	font: 600 24px/30px var(--tm-serif);
}

body.tdb-rs .tm-footer__text {
	max-width: 320px;
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 22px;
}

body.tdb-rs .tm-footer__contacts {
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
}

body.tdb-rs .tm-footer__contacts li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 8px;
	font-size: 14px;
}

body.tdb-rs .tm-footer__contacts .tm-icon {
	width: 17px;
	height: 17px;
	color: var(--tm-teal);
}

body.tdb-rs .tm-footer a {
	color: var(--tm-graphite);
	text-decoration: none;
}

body.tdb-rs .tm-footer a:hover {
	color: var(--tm-navy);
	text-decoration: underline;
}

body.tdb-rs .tm-footer__social {
	display: flex;
	gap: 10px;
}

body.tdb-rs .tm-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid var(--tm-hair-strong);
	border-radius: 50%;
	color: var(--tm-navy);
}

body.tdb-rs .tm-footer__social a:hover {
	border-color: var(--tm-navy);
	background: var(--tm-navy);
	color: #fff;
}

body.tdb-rs .tm-footer__social svg {
	width: 18px;
	height: 18px;
}

body.tdb-rs .tm-footer__heading {
	margin: 0 0 16px;
	color: var(--tm-navy);
	font: 700 11px/16px var(--tm-sans);
	letter-spacing: .14em;
	text-transform: uppercase;
}

body.tdb-rs .tm-footer__col ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.tdb-rs .tm-footer__col li {
	margin: 0 0 10px;
	font-size: 14px;
}

body.tdb-rs .tm-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 20px;
	padding-bottom: 24px;
	border-top: 1px solid var(--tm-hair);
	font-size: 12px;
}

body.tdb-rs .tm-footer__bottom p {
	margin: 0;
}

body.tdb-rs .tm-footer__pay {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

body.tdb-rs .tm-footer__pay > span:first-child {
	margin-right: 4px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-size: 10px;
}

body.tdb-rs .tm-paychip {
	padding: 3px 8px;
	border: 1px solid var(--tm-hair-strong);
	border-radius: 3px;
	color: var(--tm-navy);
	font-size: 11px;
	font-weight: 600;
}

/* ---------- Chips, coupon, help ---------- */

body.tdb-rs .tm-chip {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font: 700 10px/14px var(--tm-sans);
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.tdb-rs .tm-chip--sale {
	background: var(--tm-crimson);
	color: #fff;
}

body.tdb-rs .tm-coupon--card {
	margin: 0 0 32px;
	padding: 22px 20px;
	border: 1px solid var(--tm-hair-strong);
	border-radius: 8px;
	background: var(--tm-cream);
	text-align: center;
}

body.tdb-rs .tm-coupon__title {
	margin: 10px 0 4px;
	color: var(--tm-navy);
	font: 500 22px/28px var(--tm-serif);
}

body.tdb-rs .tm-coupon__text,
body.tdb-rs .tm-coupon__note {
	margin: 0 0 12px;
	font-size: 12px;
	line-height: 18px;
}

body.tdb-rs .tm-coupon__note {
	margin: 10px 0 0;
	color: var(--tm-muted);
	font-size: 11px;
}

body.tdb-rs .tm-coupon__code {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 12px;
	border: 1px dashed rgba(27, 59, 75, .45);
	border-radius: var(--tm-radius);
	background: #fff;
	color: var(--tm-navy);
	font: 700 14px/20px ui-monospace, Menlo, monospace;
	letter-spacing: .14em;
}

body.tdb-rs .tm-coupon__copy {
	min-height: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--tm-teal);
	cursor: pointer;
	font: 700 11px/16px var(--tm-sans);
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.tdb-rs .tm-coupon__copy:hover {
	background: none;
	color: var(--tm-navy);
}

body.tdb-rs .tm-coupon--banner {
	padding: 56px 0;
	background: var(--tm-navy);
	text-align: center;
}

body.tdb-rs .tm-coupon--banner .tm-coupon__inner {
	max-width: 680px;
}

body.tdb-rs .tm-coupon--banner .tm-overline {
	color: #fdb78a;
}

body.tdb-rs .tm-coupon--banner .tm-coupon__title {
	margin: 0 0 20px;
	color: #fff;
	font-size: 34px;
	line-height: 42px;
}

body.tdb-rs .tm-coupon--banner .tm-coupon__code {
	max-width: 300px;
	margin: 0 auto;
	padding: 12px 18px;
	border-color: rgba(255, 255, 255, .5);
	background: rgba(255, 255, 255, .06);
	color: #fff;
	font-size: 20px;
}

body.tdb-rs .tm-coupon--banner .tm-coupon__copy {
	color: #fdb78a;
}

body.tdb-rs .tm-coupon--banner .tm-coupon__note {
	color: #abcbdf;
}

body.tdb-rs .tm-help {
	display: flex;
	gap: 14px;
	margin: 32px 0 0;
	padding: 20px;
	border: 1px solid var(--tm-hair-strong);
	border-radius: 8px;
	background: var(--tm-cream);
}

body.tdb-rs .tm-help > .tm-icon {
	width: 40px;
	height: 40px;
	padding: 9px;
	box-sizing: border-box;
	border-radius: 50%;
	background: #fff;
	color: var(--tm-olive);
}

body.tdb-rs .tm-help__title {
	margin: 0 0 4px;
	color: var(--tm-navy);
	font: 500 17px/24px var(--tm-serif);
}

body.tdb-rs .tm-help__text {
	margin: 0 0 12px;
	font-size: 13px;
	line-height: 20px;
}

body.tdb-rs .tm-help__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}

body.tdb-rs .tm-help__actions .tm-btn {
	min-height: 38px;
	padding: 8px 14px;
	font-size: 11px;
}

body.tdb-rs .tm-help__phone {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--tm-navy);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

body.tdb-rs .tm-help__phone .tm-icon {
	width: 16px;
	height: 16px;
}

/* ---------- Product cards ---------- */

body.tdb-rs ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
}

body.tdb-rs ul.products::before,
body.tdb-rs ul.products::after {
	display: none !important;
}

body.tdb-rs ul.products.columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.tdb-rs ul.products li.product {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	display: flex;
	flex-direction: column;
	width: auto !important;
	margin: 0 !important;
	padding: 0 0 16px !important;
	border: 1px solid var(--tm-hair);
	border-radius: var(--tm-radius);
	background: #fff;
	text-align: left !important;
	transition: border-color .2s;
}

body.tdb-rs ul.products li.product:hover {
	border-color: var(--tm-hair-strong);
}

body.tdb-rs ul.products li.product .mfn-li-product-row-image,
body.tdb-rs ul.products li.product .image_frame {
	margin: 0;
	border: 0;
	background: #fff;
}

body.tdb-rs ul.products li.product .image_frame {
	overflow: hidden;
	border-radius: var(--tm-radius) var(--tm-radius) 0 0;
}

body.tdb-rs ul.products li.product .image_wrapper {
	aspect-ratio: 4 / 5;
	background: #fff;
}

body.tdb-rs ul.products li.product .image_wrapper > a,
body.tdb-rs ul.products li.product .image_wrapper .mfn-product-list-gallery-item,
body.tdb-rs ul.products li.product .image_wrapper .mfn-product-list-gallery-item > a {
	display: block;
	height: 100%;
}

body.tdb-rs ul.products li.product .image_wrapper img {
	width: 100%;
	height: 100% !important;
	object-fit: contain;
	transition: transform .5s ease;
}

body.tdb-rs ul.products li.product:hover .image_wrapper img {
	transform: scale(1.03);
}

body.tdb-rs ul.products li.product .mfn-li-product-row-title {
	padding: 14px 16px 0;
}

body.tdb-rs .tm-loop-brand {
	margin: 0 0 4px;
	color: var(--tm-teal);
	font: 600 10.5px/15px var(--tm-sans);
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.tdb-rs ul.products li.product .title,
body.tdb-rs ul.products li.product .woocommerce-loop-product__title {
	margin: 0;
	padding: 0;
	color: var(--tm-navy);
	font: 500 16px/22px var(--tm-serif) !important;
	text-align: left;
}

body.tdb-rs ul.products li.product .title a {
	color: var(--tm-navy);
}

body.tdb-rs ul.products li.product .mfn-li-product-row-price,
body.tdb-rs ul.products li.product > .price {
	margin-top: auto;
	padding: 10px 16px 12px;
}

body.tdb-rs .price {
	color: var(--tm-navy);
	font-family: var(--tm-sans);
}

body.tdb-rs ul.products li.product .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 8px;
	margin: 0;
	font: 700 18px/24px var(--tm-sans);
	letter-spacing: -.01em;
}

body.tdb-rs .price del,
body.tdb-rs .price del .amount {
	order: 2;
	color: var(--tm-muted) !important;
	font-size: .78em;
	font-weight: 400;
	opacity: 1;
}

body.tdb-rs .price ins,
body.tdb-rs .price ins .amount {
	order: 1;
	color: var(--tm-crimson);
	text-decoration: none;
}

body.tdb-rs ul.products li.product .mfn-after-shop-loop-item,
body.tdb-rs ul.products li.product .mfn-li-product-row-button {
	display: flex;
	align-items: stretch;
	gap: 8px;
	padding: 0 16px;
}

body.tdb-rs ul.products li.product .mfn-after-shop-loop-item > *,
body.tdb-rs ul.products li.product .mfn-li-product-row-button > * {
	box-sizing: border-box;
	height: 40px;
	min-height: 40px !important;
	margin: 0 !important;
	vertical-align: top;
	line-height: 1.2 !important;
}

body.tdb-rs ul.products li.product .desc .mfn-li-product-row-button {
	padding: 0 0 0;
}

body.tdb-rs ul.products li.product .mfn-after-shop-loop-item > * {
	flex: 1;
	min-height: 38px;
	padding: 8px 10px;
	font-size: 11px;
}

body.tdb-rs ul.products li.product .mfn-after-shop-loop-item .add_to_cart_button {
	display: inline-flex !important;
	margin: 0;
}

body.tdb-rs ul.products li.product .woosq-btn {
	border: 1.5px solid var(--tm-hair-strong);
	border-radius: var(--tm-radius);
	background: #fff;
	color: var(--tm-navy);
	cursor: pointer;
	font: 600 11px/1.2 var(--tm-sans);
	letter-spacing: .1em;
	text-transform: uppercase;
}

body.tdb-rs ul.products li.product .woosq-btn:hover {
	border-color: var(--tm-navy);
}

body.tdb-rs .onsale,
body.tdb-rs span.onsale {
	top: 12px !important;
	right: 12px !important;
	left: auto !important;
	min-width: 0;
	min-height: 0;
	padding: 4px 9px;
	border-radius: 999px;
	background: var(--tm-crimson) !important;
	color: #fff !important;
	font: 700 10px/14px var(--tm-sans) !important;
	letter-spacing: .08em;
	text-transform: uppercase;
}

body.tdb-rs .mfn-wish-button {
	top: 12px;
	left: 12px;
	right: auto;
}

body.tdb-rs .mfn-infinite-load-button .button,
body.tdb-rs .pager_load_more {
	margin-top: 32px;
	border-color: var(--tm-navy);
	background: transparent;
	color: var(--tm-navy);
}

body.tdb-rs .pager_load_more:hover {
	background: var(--tm-navy);
	color: #fff;
}

body.tdb-rs .pager_load_more .button_icon {
	display: none;
}

/* ---------- Shop sidebar ---------- */

body.tdb-rs .mcb-sidebar .widget-area {
	padding: 0;
	border: 0;
}

body.tdb-rs .mcb-sidebar.lines-hidden .widget-area::before,
body.tdb-rs .mcb-sidebar .widget::after {
	display: none;
}

body.tdb-rs .mcb-sidebar .widget {
	margin: 0 0 28px;
	padding: 0 0 24px;
	border-bottom: 1px solid var(--tm-hair);
}

body.tdb-rs .mcb-sidebar .widget h3,
body.tdb-rs .mcb-sidebar .widget h4,
body.tdb-rs .mcb-sidebar .widget .widget-title {
	margin: 0 0 14px;
	color: var(--tm-navy);
	font: 500 18px/24px var(--tm-serif);
}

body.tdb-rs .mcb-sidebar .widget ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.tdb-rs .mcb-sidebar .widget li {
	margin: 0;
	padding: 5px 0;
	border: 0;
	font: 500 13px/19px var(--tm-sans);
	text-transform: none;
}

body.tdb-rs .mcb-sidebar .widget li a {
	color: var(--tm-ink);
	text-transform: none;
}

body.tdb-rs .mcb-sidebar .widget li a:hover,
body.tdb-rs .mcb-sidebar .widget li.chosen a,
body.tdb-rs .mcb-sidebar .widget li.current-cat > a {
	color: var(--tm-navy);
	font-weight: 700;
}

body.tdb-rs .mcb-sidebar .widget_layered_nav ul {
	max-height: 320px;
	overflow-y: auto;
	padding-right: 8px;
	scrollbar-width: thin;
}

body.tdb-rs .mcb-sidebar .widget_layered_nav li a {
	text-transform: capitalize;
}

body.tdb-rs .mcb-sidebar .widget_layered_nav li .count {
	color: var(--tm-muted);
	font-size: 12px;
	font-weight: 400;
}

body.tdb-rs .mcb-sidebar .widget_product_search form {
	display: flex;
	gap: 0;
}

body.tdb-rs .mcb-sidebar .widget_product_search input.search-field {
	width: 100%;
}

body.tdb-rs .mcb-sidebar .widget_product_search button {
	display: none;
}

body.tdb-rs .widget_price_filter .ui-slider .ui-slider-range,
body.tdb-rs .widget_price_filter .ui-slider .ui-slider-handle {
	background: var(--tm-navy);
}

body.tdb-rs .widget_price_filter .price_slider_wrapper .ui-widget-content {
	background: var(--tm-hair-strong);
}

body.tdb-rs .widget_price_filter .price_slider_amount .button {
	min-height: 34px;
	padding: 6px 14px;
	font-size: 11px;
}

body.tdb-rs .widget_price_filter .price_label {
	font-size: 12px;
}

/* ---------- Single product (Elementor template) ---------- */

body.tdb-rs.single-product .elementor-location-single,
body.tdb-rs.single-product [data-elementor-type="product"] {
	background: var(--tm-cream);
}

body.tdb-rs.single-product .elementor-element-3eb376c {
	padding: 40px 0 56px;
}

body.tdb-rs.single-product .elementor-element-1810975 > .elementor-widget-wrap {
	align-content: flex-start;
	padding-right: 24px;
}

body.tdb-rs.single-product .woocommerce-product-gallery {
	position: relative;
}

body.tdb-rs.single-product .woocommerce-product-gallery .flex-viewport,
body.tdb-rs.single-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child {
	overflow: hidden;
	border: 1px solid var(--tm-hair);
	border-radius: var(--tm-radius);
	background: #fff;
}

body.tdb-rs.single-product .flex-control-thumbs {
	display: flex;
	gap: 10px;
	margin-top: 10px !important;
}

body.tdb-rs.single-product .flex-control-thumbs li {
	width: 92px !important;
	margin: 0 !important;
}

body.tdb-rs.single-product .flex-control-thumbs img {
	border: 1px solid var(--tm-hair);
	border-radius: var(--tm-radius);
	background: #fff;
	opacity: .7;
}

body.tdb-rs.single-product .flex-control-thumbs img.flex-active,
body.tdb-rs.single-product .flex-control-thumbs img:hover {
	border-color: var(--tm-navy);
	opacity: 1;
}

body.tdb-rs.single-product .elementor-element-f9a6ac9 > .elementor-widget-wrap {
	align-content: flex-start;
	padding: 32px !important;
	border: 1px solid var(--tm-hair);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--tm-shadow);
}

body.tdb-rs.single-product .elementor-element-f9a6ac9 .elementor-widget:not(:last-child) {
	margin-bottom: 14px;
}

body.tdb-rs.single-product .elementor-element-235db47 .woocommerce-breadcrumb {
	margin: 0;
	color: var(--tm-muted);
	font: 500 11px/16px var(--tm-sans);
	letter-spacing: .04em;
	text-align: left;
}

body.tdb-rs.single-product .elementor-element-235db47 .woocommerce-breadcrumb a {
	color: var(--tm-muted);
}

body.tdb-rs .tm-product-brand {
	margin: 0;
	color: var(--tm-teal);
	font: 600 11px/16px var(--tm-sans);
	letter-spacing: .14em;
	text-transform: uppercase;
}

body.tdb-rs.single-product .product_title,
body.tdb-rs.single-product .elementor-widget-woocommerce-product-title .elementor-heading-title {
	color: var(--tm-navy);
	font: 600 30px/38px var(--tm-serif) !important;
	text-align: left !important;
}

body.tdb-rs.single-product .elementor-widget-woocommerce-product-price .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
	margin: 0;
	padding: 16px 18px;
	border: 1px solid var(--tm-hair);
	border-radius: var(--tm-radius);
	background: var(--tm-subtle);
	color: var(--tm-navy) !important;
	font: 700 28px/34px var(--tm-sans) !important;
	text-align: left;
}

body.tdb-rs.single-product .elementor-widget-woocommerce-product-price .price del {
	font-size: 17px;
	text-decoration: line-through;
}

body.tdb-rs.single-product .elementor-add-to-cart {
	text-align: left;
}

body.tdb-rs.single-product table.variations {
	width: 100%;
	margin: 0 0 12px;
	border: 0;
}

body.tdb-rs.single-product table.variations tr {
	display: flex;
	flex-direction: column;
	margin-bottom: 12px;
}

body.tdb-rs.single-product table.variations th,
body.tdb-rs.single-product table.variations td {
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
}

body.tdb-rs.single-product table.variations th label {
	margin: 0 0 6px;
	color: var(--tm-navy);
	font: 700 11px/16px var(--tm-sans);
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.tdb-rs.single-product table.variations select {
	width: 100%;
	max-width: none;
}

body.tdb-rs.single-product .woocommerce-variation-add-to-cart,
body.tdb-rs.single-product form.cart:not(.variations_form) {
	display: flex;
	gap: 10px;
	align-items: stretch;
}

body.tdb-rs.single-product .quantity {
	display: inline-flex;
	align-items: center;
	height: 50px;
	margin: 0;
	border: 1px solid var(--tm-hair-strong);
	border-radius: var(--tm-radius);
	background: #fff;
}

body.tdb-rs.single-product .quantity input.qty {
	width: 40px;
	min-height: 0;
	height: 48px;
	padding: 0;
	border: 0;
	box-shadow: none;
	text-align: center;
}

body.tdb-rs.single-product .quantity .quantity-change {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 48px;
	border: 0;
	background: none;
	color: var(--tm-navy);
}

body.tdb-rs.single-product .single_add_to_cart_button {
	flex: 1;
	min-height: 50px;
	font-size: 12px;
}

body.tdb-rs.single-product .single_add_to_cart_button.disabled {
	opacity: .55;
}

body.tdb-rs.single-product .reset_variations,
body.tdb-rs.single-product .mfn-reset-variations {
	color: var(--tm-muted);
	font-size: 12px;
}

body.tdb-rs .tm-pdp-extra {
	display: grid;
	gap: 10px;
	margin-top: 14px;
}

body.tdb-rs .tm-pdp-coupon {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 4px;
	padding: 12px 14px;
	border: 1px solid var(--tm-terracotta);
	border-radius: var(--tm-radius);
	background: var(--tm-cream);
	color: var(--tm-navy);
	font-size: 13px;
	line-height: 19px;
}

body.tdb-rs .tm-pdp-coupon .tm-icon {
	color: var(--tm-terracotta);
}

body.tdb-rs .tm-pdp-services {
	margin: 6px 0 0;
	padding: 14px 0 0;
	border-top: 1px solid var(--tm-hair);
	list-style: none;
}

body.tdb-rs .tm-pdp-services li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 9px;
	color: var(--tm-graphite);
	font-size: 13px;
	line-height: 19px;
	text-align: left;
}

body.tdb-rs .tm-pdp-services .tm-icon {
	width: 18px;
	height: 18px;
	color: var(--tm-teal);
}

body.tdb-rs .tm-pdp-services strong {
	color: var(--tm-navy);
}

body.tdb-rs.single-product .elementor-element-ddc5cd9,
body.tdb-rs.single-product .elementor-element-938871a,
body.tdb-rs.single-product .elementor-element-558ffb7 {
	display: none;
}

body.tdb-rs.single-product .elementor-widget-woocommerce-product-data-tabs {
	padding-top: 6px;
	border-top: 1px solid var(--tm-hair);
}

body.tdb-rs.single-product .woocommerce-tabs .tabs li a,
body.tdb-rs.single-product .woocommerce-tabs .accordion .title,
body.tdb-rs.single-product .woocommerce-tabs h2 {
	color: var(--tm-navy) !important;
	font: 500 17px/24px var(--tm-serif) !important;
	text-transform: none;
}

body.tdb-rs.single-product .woocommerce-tabs .panel,
body.tdb-rs.single-product .woocommerce-tabs .panel p,
body.tdb-rs.single-product .woocommerce-Tabs-panel p {
	color: var(--tm-graphite);
	font: 400 14px/23px var(--tm-sans) !important;
}

body.tdb-rs.single-product .elementor-element-daa5006 {
	padding: 56px 0;
	background: #fff;
}

body.tdb-rs.single-product .related > h2,
body.tdb-rs.single-product .elementor-widget-woocommerce-product-related h2 {
	margin-bottom: 24px;
	color: var(--tm-navy);
	font: 600 30px/38px var(--tm-serif);
	text-align: left;
}

/* ---------- Steps (BeTheme) ---------- */

body.tdb-rs .mfn-checkout-steps {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 36px;
	margin: 0 0 32px;
	padding: 0;
}

body.tdb-rs .mfn-checkout-steps li {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: var(--tm-muted);
	font: 600 11px/16px var(--tm-sans);
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.tdb-rs .mfn-checkout-steps li::after {
	display: none;
}

body.tdb-rs .mfn-checkout-steps .mfn-step-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid var(--tm-hair-strong);
	border-radius: 50%;
	background: #fff;
	color: var(--tm-muted);
	font-size: 12px;
	letter-spacing: 0;
}

body.tdb-rs .mfn-checkout-steps li.active {
	color: var(--tm-navy);
}

body.tdb-rs .mfn-checkout-steps li.active .mfn-step-number {
	border-color: var(--tm-navy);
	background: var(--tm-navy);
	color: #fff;
}

body.tdb-rs .mfn-checkout-steps li.active:has(.icon-check) .mfn-step-number {
	border-color: var(--tm-olive);
	background: var(--tm-olive);
}

/* ---------- Cart ---------- */

body.tdb-rs.woocommerce-cart #Content,
body.tdb-rs.woocommerce-checkout #Content,
body.tdb-rs.woocommerce-account #Content {
	background: var(--tm-cream);
}

body.tdb-rs.woocommerce-cart .woocommerce,
body.tdb-rs.woocommerce-checkout .woocommerce {
	padding: 32px 0 56px;
}

body.tdb-rs .woocommerce table.shop_table {
	overflow: hidden;
	border: 1px solid var(--tm-hair);
	border-collapse: separate;
	border-radius: 8px;
	background: #fff;
}

body.tdb-rs .woocommerce table.shop_table th {
	padding: 14px 16px;
	border: 0;
	border-bottom: 1px solid var(--tm-hair);
	background: #fff;
	color: var(--tm-navy);
	font: 700 11px/16px var(--tm-sans);
	letter-spacing: .1em;
	text-transform: uppercase;
}

body.tdb-rs .woocommerce table.shop_table td {
	padding: 16px;
	border: 0;
	border-top: 1px solid var(--tm-hair);
	background: #fff;
	color: var(--tm-graphite);
	font-size: 14px;
}

body.tdb-rs .woocommerce table.shop_table td.product-name a {
	color: var(--tm-navy);
	font: 500 16px/22px var(--tm-serif);
}

body.tdb-rs .woocommerce table.shop_table td.product-thumbnail {
	width: 96px;
}

body.tdb-rs .woocommerce table.shop_table td.product-thumbnail img {
	width: 80px !important;
	max-width: none;
	height: 100px !important;
	object-fit: cover;
	border: 1px solid var(--tm-hair);
	border-radius: var(--tm-radius);
}

body.tdb-rs .woocommerce table.cart td.actions .coupon {
	display: flex;
	gap: 8px;
}

body.tdb-rs .woocommerce table.cart td.actions .coupon .input-text {
	width: 220px;
	font-size: 13px;
	letter-spacing: 0;
	text-transform: none;
}

body.tdb-rs .woocommerce .cart-collaterals {
	padding: 0;
	background: none;
}

body.tdb-rs .woocommerce .cart-collaterals .cart_totals,
body.tdb-rs .woocommerce-checkout #order_review,
body.tdb-rs .tm-card {
	padding: 28px;
	border: 1px solid var(--tm-hair);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--tm-shadow);
}

body.tdb-rs .woocommerce .cart-collaterals .cart_totals h2,
body.tdb-rs .woocommerce-checkout h3,
body.tdb-rs .tm-card__title {
	margin: 0 0 18px;
	color: var(--tm-navy);
	font: 500 22px/30px var(--tm-serif);
}

body.tdb-rs .woocommerce .cart_totals table.shop_table,
body.tdb-rs .woocommerce-checkout #order_review table.shop_table {
	border: 0;
	box-shadow: none;
}

body.tdb-rs .woocommerce .cart_totals table.shop_table th,
body.tdb-rs .woocommerce .cart_totals table.shop_table td,
body.tdb-rs .woocommerce-checkout #order_review table.shop_table th,
body.tdb-rs .woocommerce-checkout #order_review table.shop_table td {
	padding: 12px 0;
	border-top: 1px solid var(--tm-hair);
	border-bottom: 0;
	background: none;
	font-size: 14px;
	letter-spacing: 0;
	text-transform: none;
}

body.tdb-rs .woocommerce .cart_totals .order-total th,
body.tdb-rs .woocommerce .cart_totals .order-total td,
body.tdb-rs .woocommerce-checkout #order_review .order-total th,
body.tdb-rs .woocommerce-checkout #order_review .order-total td {
	color: var(--tm-navy);
	font: 700 20px/28px var(--tm-sans);
}

body.tdb-rs .woocommerce .cart_totals .order-total th,
body.tdb-rs .woocommerce-checkout #order_review .order-total th {
	font-family: var(--tm-serif);
	font-weight: 500;
}

body.tdb-rs .woocommerce .wc-proceed-to-checkout .checkout-button,
body.tdb-rs .woocommerce #payment #place_order {
	display: flex;
	width: 100%;
	min-height: 54px;
	font-size: 13px;
}

body.tdb-rs .woocommerce-info,
body.tdb-rs .woocommerce-message,
body.tdb-rs .woocommerce-error,
body.tdb-rs .woocommerce-notices-wrapper .alert {
	border: 1px solid var(--tm-hair-strong);
	border-left: 3px solid var(--tm-navy);
	border-radius: var(--tm-radius);
	background: #fff;
	color: var(--tm-ink);
	font-size: 14px;
}

body.tdb-rs .woocommerce-error {
	border-left-color: var(--tm-crimson);
}

/* ---------- Checkout ---------- */

body.tdb-rs .woocommerce form.checkout.woocommerce-checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}

body.tdb-rs form.woocommerce-checkout > *:not(.tm-checkout-main):not(.tm-checkout-side) {
	grid-column: 1 / -1;
}

body.tdb-rs .tm-checkout-side {
	position: sticky;
	top: 110px;
}

body.tdb-rs .woocommerce form.checkout #customer_details,
body.tdb-rs .woocommerce form.checkout #order_review {
	float: none !important;
	flex: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

body.tdb-rs form.woocommerce-checkout #customer_details {
	padding: 28px;
	border: 1px solid var(--tm-hair);
	border-radius: 8px;
	background: #fff;
}

body.tdb-rs form.woocommerce-checkout #customer_details .col-1,
body.tdb-rs form.woocommerce-checkout #customer_details .col-2 {
	float: none;
	width: 100%;
}

body.tdb-rs form.woocommerce-checkout .form-row label {
	margin-bottom: 6px;
	color: var(--tm-navy);
	font: 700 11px/16px var(--tm-sans);
	letter-spacing: .1em;
	text-transform: uppercase;
}

body.tdb-rs form.woocommerce-checkout .form-row label .optional {
	color: var(--tm-muted);
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}

body.tdb-rs form.woocommerce-checkout .form-row .required {
	color: var(--tm-crimson);
	text-decoration: none;
}

body.tdb-rs form.woocommerce-checkout #order_review_heading {
	margin: 0 0 16px;
}

body.tdb-rs #order_review td.product-name {
	color: var(--tm-navy);
	font-weight: 500;
}

body.tdb-rs .woocommerce #payment {
	border-radius: 0;
	background: none;
}

body.tdb-rs .woocommerce #payment ul.payment_methods {
	display: grid;
	gap: 10px;
	padding: 0 0 16px;
	border: 0;
}

body.tdb-rs .woocommerce #payment ul.payment_methods > li {
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--tm-hair-strong);
	border-radius: var(--tm-radius);
	background: #fff;
	list-style: none;
}

body.tdb-rs .woocommerce #payment ul.payment_methods > li:has(> input:checked) {
	border-color: var(--tm-navy);
	box-shadow: 0 0 0 1px var(--tm-navy);
}

body.tdb-rs .woocommerce #payment ul.payment_methods > li > label {
	display: inline;
	color: var(--tm-navy);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

body.tdb-rs .woocommerce #payment ul.payment_methods > li img {
	max-height: 22px;
	vertical-align: middle;
}

body.tdb-rs .woocommerce #payment div.payment_box {
	margin: 12px 0 0;
	padding: 12px;
	border-radius: var(--tm-radius);
	background: var(--tm-subtle);
	color: var(--tm-graphite);
	font-size: 13px;
}

body.tdb-rs .woocommerce #payment div.payment_box::before {
	display: none;
}

body.tdb-rs .woocommerce #payment .place-order {
	margin: 0;
	padding: 16px 0 0;
	border-top: 1px solid var(--tm-hair);
}

body.tdb-rs .woocommerce-terms-and-conditions-wrapper {
	font-size: 13px;
}

body.tdb-rs .woocommerce-form-coupon-toggle .woocommerce-info {
	border-left-color: var(--tm-terracotta);
	background: var(--tm-cream);
}

/* ---------- Thank you ---------- */

body.tdb-rs .woocommerce-order .woocommerce-thankyou-order-received {
	margin: 0 0 24px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--tm-navy);
	font: 500 30px/40px var(--tm-serif);
	text-align: center;
}

body.tdb-rs .woocommerce-order .tm-steps {
	justify-content: center;
}

body.tdb-rs ul.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 0;
	margin: 0 0 32px;
	padding: 0;
	border: 1px solid var(--tm-hair);
	border-radius: 8px;
	background: #fff;
	list-style: none;
}

body.tdb-rs ul.woocommerce-order-overview li {
	margin: 0;
	padding: 20px 22px;
	border: 0;
	border-right: 1px solid var(--tm-hair);
	color: var(--tm-muted);
	font: 600 10.5px/16px var(--tm-sans);
	letter-spacing: .1em;
	text-transform: uppercase;
}

body.tdb-rs ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: 6px;
	color: var(--tm-navy);
	font: 700 16px/22px var(--tm-sans);
	letter-spacing: 0;
	text-transform: none;
}

body.tdb-rs .woocommerce-order-details,
body.tdb-rs .woocommerce-customer-details {
	margin-bottom: 32px;
}

body.tdb-rs .woocommerce-order-details__title,
body.tdb-rs .woocommerce-column__title {
	color: var(--tm-navy);
	font: 500 22px/30px var(--tm-serif);
}

body.tdb-rs .woocommerce-customer-details address {
	padding: 20px;
	border: 1px solid var(--tm-hair);
	border-radius: 8px;
	background: #fff;
	font-size: 14px;
	line-height: 22px;
}

body.tdb-rs .tm-ty-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 0 0 24px;
}

body.tdb-rs .tm-ty-grid .tm-help {
	margin: 0;
}

body.tdb-rs .tm-timeline {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: tm-step;
}

body.tdb-rs .tm-timeline li {
	position: relative;
	margin: 0;
	padding: 0 0 18px 34px;
	font-size: 13px;
	line-height: 20px;
	counter-increment: tm-step;
}

body.tdb-rs .tm-timeline li::before {
	content: counter(tm-step);
	position: absolute;
	top: 0;
	left: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--tm-navy);
	color: #fff;
	font: 700 11px/22px var(--tm-sans);
	text-align: center;
}

body.tdb-rs .tm-timeline li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 26px;
	bottom: 4px;
	left: 10.5px;
	width: 1px;
	background: var(--tm-hair-strong);
}

body.tdb-rs .tm-timeline strong {
	display: block;
	color: var(--tm-navy);
	font-size: 14px;
}

body.tdb-rs .tm-ty-actions {
	text-align: center;
}

/* ---------- Home ---------- */

body.tdb-rs .tm-hero {
	min-height: 560px;
}

body.tdb-rs .tm-hero .elementor-container {
	min-height: 560px;
}

body.tdb-rs .tm-hero .elementor-widget-wrap {
	align-content: center;
	max-width: 560px;
}

body.tdb-rs .tm-hero .tm-overline {
	color: #fdb78a;
}

body.tdb-rs .tm-hero h1.elementor-heading-title {
	color: #fff;
	font: 600 56px/64px var(--tm-serif);
	letter-spacing: -.02em;
}

body.tdb-rs .tm-hero .tm-hero__text p {
	margin: 0;
	color: rgba(255, 255, 255, .9);
	font-size: 17px;
	line-height: 27px;
}

body.tdb-rs .tm-hero .elementor-button {
	border-color: #fff;
	background: #fff;
	color: var(--tm-navy);
}

body.tdb-rs .tm-hero .elementor-button:hover {
	border-color: var(--tm-cream);
	background: var(--tm-cream);
	color: var(--tm-navy);
}

body.tdb-rs .tm-section-head {
	text-align: center;
}

body.tdb-rs .tm-section-head .elementor-heading-title {
	color: var(--tm-navy);
	font: 600 36px/44px var(--tm-serif);
}

body.tdb-rs .tm-cat-card > .elementor-widget-wrap {
	position: relative;
	margin: 0 12px;
	padding: 14px !important;
	border: 1px solid var(--tm-hair);
	border-radius: var(--tm-radius);
	background: #fff;
	transition: border-color .2s;
}

body.tdb-rs .tm-cat-card:hover > .elementor-widget-wrap {
	border-color: var(--tm-hair-strong);
}

body.tdb-rs .tm-cat-card .elementor-widget-image {
	overflow: hidden;
}

body.tdb-rs .tm-cat-card .elementor-widget-image img {
	width: 100%;
	aspect-ratio: 812 / 1000;
	object-fit: cover;
	transition: transform .6s ease;
}

body.tdb-rs .tm-cat-card:hover .elementor-widget-image img {
	transform: scale(1.03);
}

body.tdb-rs .tm-cat-card .elementor-widget-image {
	margin-bottom: 12px !important;
}

body.tdb-rs .tm-cat-card .elementor-widget-button {
	width: 100%;
}

body.tdb-rs .tm-cat-card .elementor-button {
	display: flex;
	width: 100%;
	min-height: 46px;
	padding: 12px 22px;
	border-color: var(--tm-ink);
	background: var(--tm-ink);
	white-space: nowrap;
}

body.tdb-rs .tm-cat-card .elementor-button:hover {
	border-color: var(--tm-navy);
	background: var(--tm-navy);
}

body.tdb-rs .elementor-widget-shortcode .woocommerce ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: 28px;
}

@media (max-width: 1023px) {
	body.tdb-rs .elementor-widget-shortcode .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

body.tdb-rs .tm-link-btn .elementor-button {
	border-color: var(--tm-ink);
	background: var(--tm-ink);
}

body.tdb-rs .tm-brands img {
	filter: grayscale(1);
	opacity: .75;
	transition: filter .3s, opacity .3s;
}

body.tdb-rs .tm-brands img:hover {
	filter: none;
	opacity: 1;
}

/* Essential Addons product carousel on the home */

body.tdb-rs .eael-woo-product-carousel-container .product {
	border: 1px solid var(--tm-hair) !important;
	border-radius: var(--tm-radius) !important;
	background: #fff !important;
	box-shadow: none !important;
}

body.tdb-rs .eael-woo-product-carousel-container .eael-product-title h2,
body.tdb-rs .eael-woo-product-carousel-container .woocommerce-loop-product__title {
	color: var(--tm-navy) !important;
	font: 500 15px/21px var(--tm-serif) !important;
	text-align: left;
}

body.tdb-rs .eael-woo-product-carousel-container .eael-product-price,
body.tdb-rs .eael-woo-product-carousel-container .price {
	color: var(--tm-navy) !important;
	font: 700 16px/22px var(--tm-sans) !important;
}

body.tdb-rs .eael-woo-product-carousel-container .eael-onsale,
body.tdb-rs .eael-woo-product-carousel-container .onsale {
	border-radius: 999px !important;
	background: var(--tm-crimson) !important;
	color: #fff !important;
	font: 700 10px/14px var(--tm-sans) !important;
}

body.tdb-rs .eael-woo-product-carousel-container .swiper-pagination-bullet-active {
	background: var(--tm-navy) !important;
}

/* ---------- Fixes: loops, PDP details ---------- */

body.tdb-rs .tm-ribbon .amount,
body.tdb-rs .tm-pdp-services .amount,
body.tdb-rs .tm-ribbon .woocommerce-Price-amount,
body.tdb-rs .tm-pdp-services .woocommerce-Price-amount {
	color: inherit;
	font: inherit;
}

body.tdb-rs ul.products li.product .desc {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 14px 16px 0;
}

body.tdb-rs ul.products li.product .mfn-woo-product-title {
	margin: 0 0 10px;
	font: 500 16px/22px var(--tm-serif) !important;
	text-align: left;
}

body.tdb-rs ul.products li.product .mfn-woo-product-title a {
	color: var(--tm-navy);
}

body.tdb-rs ul.products li.product .desc > .price {
	margin: auto 0 12px;
}

body.tdb-rs ul.products li.product .mfn-li-product-row-button {
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 0;
}

body.tdb-rs ul.products li.product .mfn-li-product-row-button > * {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 1;
	min-height: 38px;
	margin: 0;
	padding: 8px 10px;
	font-size: 11px;
}

body.tdb-rs ul.products li.product .mfn-product-badges {
	position: absolute;
	top: 12px;
	right: 12px;
	left: auto;
	z-index: 2;
}

body.tdb-rs ul.products li.product .mfn-product-badges .onsale {
	position: static;
}

body.tdb-rs .elementor-grid-4 ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.tdb-rs.single-product #Subheader {
	display: none;
}

body.tdb-rs.single-product .elementor-widget-woocommerce-product-images .elementor-widget-container {
	position: relative;
}

body.tdb-rs.single-product .elementor-widget-woocommerce-product-images .onsale {
	position: absolute;
	top: 14px !important;
	left: 14px !important;
	right: auto !important;
	z-index: 5;
}

body.tdb-rs.single-product .elementor-widget-woocommerce-product-images .onsale + .woocommerce-product-gallery .onsale {
	display: none;
}

body.tdb-rs.single-product table.variations,
body.tdb-rs.single-product table.variations tbody,
body.tdb-rs.single-product table.variations tr,
body.tdb-rs.single-product table.variations td,
body.tdb-rs.single-product table.variations th {
	display: block;
	width: 100% !important;
}

body.tdb-rs.single-product table.variations select {
	width: 100% !important;
	height: 46px;
}

body.tdb-rs.single-product .single_add_to_cart_button,
body.tdb-rs.single-product .quantity {
	border-radius: var(--tm-radius) !important;
}

body.tdb-rs.single-product .single_add_to_cart_button,
body.tdb-rs.single-product .single_add_to_cart_button.disabled {
	border-color: var(--tm-navy) !important;
	background: var(--tm-navy) !important;
	color: #fff !important;
}

body.tdb-rs.single-product .quantity .quantity-change {
	border-radius: 0;
	background: none !important;
}

body.tdb-rs .mfn-acc .question,
body.tdb-rs .mfn-acc .question.active {
	margin: 0;
	border: 0 !important;
	border-bottom: 1px solid var(--tm-hair) !important;
	background: none !important;
	box-shadow: none !important;
}

body.tdb-rs .mfn-acc .question::after,
body.tdb-rs .mfn-acc .question::before {
	display: none !important;
}

body.tdb-rs .mfn-acc .question .title {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 0 !important;
	color: var(--tm-navy) !important;
	font: 500 17px/24px var(--tm-serif) !important;
}

body.tdb-rs .mfn-acc .question .title i {
	position: static !important;
	margin: 0 !important;
	color: var(--tm-navy) !important;
	font-size: 12px;
}

body.tdb-rs .mfn-acc .question .answer {
	padding: 0 0 18px !important;
}

body.tdb-rs .mfn-acc .question .answer .section,
body.tdb-rs .mfn-acc .question .answer .section_wrapper {
	padding: 0 !important;
}

body.tdb-rs .mfn-acc .question .answer p {
	margin: 0 0 6px;
	color: var(--tm-graphite);
	font: 400 14px/22px var(--tm-sans) !important;
}

body.tdb-rs .shop_attributes th,
body.tdb-rs .shop_attributes td {
	padding: 8px 0;
	border: 0;
	border-bottom: 1px solid var(--tm-hair);
	background: none;
	font-size: 13px;
	text-align: left;
}

body.tdb-rs .shop_attributes td p {
	margin: 0;
}

@media (max-width: 1023px) {
	body.tdb-rs .elementor-grid-4 ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	body.tdb-rs .elementor-grid-4 ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.tdb-rs ul.products li.product .desc {
		padding: 10px 10px 0;
	}

	body.tdb-rs ul.products li.product .mfn-woo-product-title {
		font-size: 14px !important;
		line-height: 19px !important;
	}

	body.tdb-rs ul.products li.product .mfn-li-product-row-button {
		padding: 0;
	}

	body.tdb-rs ul.products li.product .mfn-li-product-row-button .woosq-btn {
		display: none;
	}
}

/* ---------- Mobile tab bar ---------- */

body.tdb-rs .tm-tabbar {
	display: none;
}

/* ---------- Responsive ---------- */

@media (max-width: 1239px) {
	body.tdb-rs ul.products.columns-4 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.tdb-rs #Top_bar .top-bar-right-input {
		max-width: 300px;
	}
}

@media (max-width: 1023px) {
	body.tdb-rs .tm-ribbon__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.tdb-rs .tm-ribbon__item:nth-child(3) {
		border-left: 0;
	}

	body.tdb-rs .tm-ribbon__item:nth-child(n + 3) {
		border-top: 1px solid var(--tm-hair);
	}

	body.tdb-rs .tm-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.tdb-rs .woocommerce form.checkout.woocommerce-checkout {
		grid-template-columns: minmax(0, 1fr);
	}

	body.tdb-rs .tm-checkout-side {
		position: static;
	}

	body.tdb-rs.single-product .elementor-element-1810975 > .elementor-widget-wrap {
		padding-right: 0;
	}
}

@media (max-width: 767px) {
	body.tdb-rs {
		padding-bottom: 64px;
	}

	body.tdb-rs #Action_bar .social-menu,
	body.tdb-rs #Action_bar .tm-ab-place {
		display: none;
	}

	body.tdb-rs #Action_bar .column.one {
		justify-content: center;
		min-height: 34px;
	}

	body.tdb-rs #Action_bar .contact_details li {
		font-size: 10px;
		letter-spacing: .04em;
	}

	body.tdb-rs #Top_bar .top_bar_row-first {
		gap: 12px;
		min-height: 64px;
	}

	body.tdb-rs #Top_bar #logo {
		height: 64px;
		line-height: 64px;
	}

	body.tdb-rs #Top_bar #logo img {
		max-height: 50px;
	}

	body.tdb-rs #Top_bar .top-bar-right-input,
	body.tdb-rs #Top_bar .top-bar-right-icon-user,
	body.tdb-rs #Top_bar .top-bar-right-icon-wishlist {
		display: none;
	}

	body.tdb-rs #Top_bar .top-bar-right-icon-cart {
		padding-left: 0;
		border-left: 0;
	}

	body.tdb-rs #Top_bar .top_bar_right {
		top: 17px !important;
	}

	body.tdb-rs #Top_bar #header_cart .header-cart-count {
		left: 16px !important;
	}

	body.tdb-rs #Subheader ul.breadcrumbs li {
		display: inline-block;
	}

	body.tdb-rs #Subheader {
		padding: 18px 0 16px;
	}

	body.tdb-rs #Subheader .title {
		font-size: 28px;
		line-height: 36px;
	}

	body.tdb-rs ul.products,
	body.tdb-rs ul.products.columns-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	body.tdb-rs ul.products li.product .mfn-li-product-row-title {
		padding: 10px 10px 0;
	}

	body.tdb-rs ul.products li.product .title {
		font-size: 14px !important;
		line-height: 19px !important;
	}

	body.tdb-rs ul.products li.product .mfn-li-product-row-price {
		padding: 8px 10px 10px;
	}

	body.tdb-rs ul.products li.product .price {
		font-size: 15px;
	}

	body.tdb-rs ul.products li.product .mfn-after-shop-loop-item {
		flex-direction: column;
		padding: 0 10px;
	}

	body.tdb-rs ul.products li.product .woosq-btn {
		display: none;
	}

	body.tdb-rs .tm-ribbon .tm-container {
		padding: 0;
	}

	body.tdb-rs .tm-ribbon__item {
		flex-direction: column;
		gap: 6px;
		padding: 14px 16px;
	}

	body.tdb-rs .tm-ribbon__item .tm-icon {
		width: 20px;
		height: 20px;
	}

	body.tdb-rs .tm-ribbon__title {
		font-size: 10px;
		letter-spacing: .08em;
	}

	body.tdb-rs .tm-ribbon__text {
		font-size: 11.5px;
		line-height: 16px;
	}

	body.tdb-rs .tm-footer {
		padding-top: 40px;
	}

	body.tdb-rs .tm-footer__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	body.tdb-rs .tm-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
	}

	body.tdb-rs.single-product .elementor-element-3eb376c {
		padding: 16px 0 32px;
	}

	body.tdb-rs.single-product .elementor-element-f9a6ac9 > .elementor-widget-wrap {
		padding: 20px !important;
	}

	body.tdb-rs.single-product .product_title,
	body.tdb-rs.single-product .elementor-widget-woocommerce-product-title .elementor-heading-title {
		font-size: 24px !important;
		line-height: 31px !important;
	}

	body.tdb-rs .woocommerce table.shop_table_responsive tr td {
		padding: 10px 14px;
	}

	body.tdb-rs .woocommerce .cart-collaterals .cart_totals,
	body.tdb-rs .woocommerce-checkout #order_review,
	body.tdb-rs form.woocommerce-checkout #customer_details,
	body.tdb-rs .tm-card {
		padding: 20px;
	}

	body.tdb-rs .tm-ty-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	body.tdb-rs ul.woocommerce-order-overview li {
		border-right: 0;
		border-bottom: 1px solid var(--tm-hair);
	}

	body.tdb-rs .tm-hero,
	body.tdb-rs .tm-hero .elementor-container {
		min-height: 440px;
	}

	body.tdb-rs .tm-hero h1.elementor-heading-title {
		font-size: 36px;
		line-height: 44px;
	}

	body.tdb-rs .tm-section-head .elementor-heading-title {
		font-size: 28px;
		line-height: 36px;
	}

	body.tdb-rs .tm-coupon--banner .tm-coupon__title {
		font-size: 26px;
		line-height: 34px;
	}

	body.tdb-rs .tm-tabbar {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 9990;
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		height: 62px;
		padding-bottom: env(safe-area-inset-bottom);
		border-top: 1px solid var(--tm-hair-strong);
		background: #fff;
		box-shadow: 0 -6px 20px rgba(27, 59, 75, .06);
	}

	body.tdb-rs .tm-tabbar a {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 3px;
		color: var(--tm-navy);
		font: 600 10px/12px var(--tm-sans);
		letter-spacing: .04em;
		text-decoration: none;
	}

	body.tdb-rs .tm-tabbar .tm-icon {
		width: 22px;
		height: 22px;
	}

	body.tdb-rs .tm-tabbar__count {
		position: absolute;
		top: 7px;
		left: calc(50% + 6px);
		min-width: 16px;
		height: 16px;
		border-radius: 8px;
		background: var(--tm-crimson);
		color: #fff;
		font: 700 9px/16px var(--tm-sans);
		text-align: center;
	}

	body.tdb-rs .wa__btn_popup,
	body.tdb-rs #wa {
		bottom: 76px !important;
	}
}
