/* Thokai Account Extras — matches the theme's teal / maroon palette. */
:root {
	--tkx-teal: var(--td-teal, #186078);
	--tkx-teal-dk: var(--td-teal-dk, #124e60);
	--tkx-maroon: var(--td-maroon, #6c1824);
	--tkx-brown: var(--td-brown, #48180c);
	--tkx-tint: var(--td-collect, #e8f0f7);
	--tkx-line: #d7e4ec;
	--tkx-ink: #4a4a4a;
	--tkx-green: var(--td-green, #3c7848);
	--tkx-red: #b3261e;
}

/* Our own display rules must never override the hidden attribute. */
.tkx-addressbook [hidden],
.tkx-return [hidden],
.tkx-checkout-picker [hidden] { display: none !important; }

/* ---------- Account menu: heart icon for Wishlist ---------- */
.woocommerce-MyAccount-navigation-link--wishlist a svg { display: none; }
.woocommerce-MyAccount-navigation-link--wishlist a::before {
	content: "";
	flex: 0 0 17px;
	width: 17px;
	height: 17px;
	background: var(--tkx-teal);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce-MyAccount-navigation-link--wishlist.is-active a::before,
.woocommerce-MyAccount-navigation-link--wishlist a:hover::before { background: currentColor; }

/* ---------- Shared bits ---------- */
.tkx-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	margin: 0 0 18px;
}
.tkx-title {
	margin: 0 !important;
	font-size: 22px !important;
	line-height: 1.2;
	color: var(--tkx-maroon);
	text-transform: uppercase;
}
.tkx-count, .tkx-muted, .tkx-hint { color: #6c6c6c; font-size: 14px; }
.tkx-muted { margin: 4px 0 0; }
.tkx-hint { display: block; margin-top: 6px; font-size: 13px; }
.tkx-hint.tkx-error { color: var(--tkx-red); }

.woocommerce .tkx-btn,
.woocommerce a.tkx-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 38px;
	padding: 8px 16px;
	border: 1px solid var(--tkx-teal);
	border-radius: 4px;
	background: #fff;
	color: var(--tkx-teal);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background .2s, color .2s;
}
.woocommerce .tkx-btn:hover,
.woocommerce .tkx-btn:focus-visible { background: var(--tkx-teal); color: #fff; }
.woocommerce .tkx-btn-solid { background: var(--tkx-teal); color: #fff; }
.woocommerce .tkx-btn-solid:hover,
.woocommerce .tkx-btn-solid:focus-visible { background: var(--tkx-teal-dk); border-color: var(--tkx-teal-dk); }
.woocommerce .tkx-btn:disabled { opacity: .6; cursor: wait; }

.tkx-link-btn,
.woocommerce .tkx-link-btn,
.woocommerce-account .woocommerce .tkx-link-btn {
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	min-height: 0 !important;
	padding: 4px 2px !important;
	color: var(--tkx-teal) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.woocommerce .tkx-link-btn:hover, .tkx-link-btn:hover { color: var(--tkx-maroon) !important; }
.woocommerce .tkx-danger, .tkx-danger { color: var(--tkx-red) !important; }

/* ---------- Toast ---------- */
.tkx-toast {
	position: fixed;
	left: 50%;
	bottom: 24px;
	z-index: 100000;
	max-width: calc(100vw - 32px);
	padding: 12px 18px;
	border-radius: 6px;
	background: var(--tkx-brown);
	color: #fff;
	font-size: 14px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .2);
	transform: translate(-50%, 20px);
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s, transform .25s;
}
.tkx-toast.is-on { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.tkx-toast a { color: #ffd9a0; font-weight: 700; margin-left: 4px; text-decoration: underline; }

/* Heart button state (the theme already styles .active; this adds a fill). */
.ts-wishlist-btn.is-wishlisted svg { fill: currentColor; }

/* ---------- Wishlist page ---------- */
.tkx-empty { text-align: center; }
.tkx-empty-icon { display: block; color: var(--tkx-teal); margin-bottom: 8px; }

.tkx-wishlist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 20px;
}
.tkx-wl-card {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--tkx-line);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	transition: box-shadow .2s;
}
.tkx-wl-card:hover { box-shadow: 0 6px 18px rgba(24, 96, 120, .12); }
.tkx-wl-img { display: block; aspect-ratio: 3 / 4; background: var(--tkx-tint); }
.tkx-wl-img img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0 !important; }
.tkx-wl-body { display: flex; flex-direction: column; gap: 6px; padding: 14px; flex: 1; }
.tkx-wl-name { color: var(--tkx-maroon); font-weight: 700; line-height: 1.3; text-decoration: none; }
.tkx-wl-name:hover { text-decoration: underline; }
.tkx-wl-price { color: var(--tkx-teal); font-weight: 700; }
.tkx-wl-stock { font-size: 13px; }
.tkx-wl-stock.is-in { color: var(--tkx-green); }
.tkx-wl-stock.is-out { color: var(--tkx-red); }
.tkx-wl-actions { margin-top: auto; padding-top: 8px; display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.tkx-wl-actions .tkx-btn { flex: 1 1 auto; }
.tkx-wl-remove { margin: 0; }

/* ---------- Address book ---------- */
.tkx-addressbook { margin-top: 32px; padding-top: 8px; }
.tkx-addr-list {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
}
.tkx-addr-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px;
	border: 1px solid var(--tkx-line);
	border-radius: 10px;
	background: var(--tkx-tint);
}
.tkx-addr-card address { font-style: normal; line-height: 1.7; color: var(--tkx-ink); margin: 0; }
.tkx-addr-phone { display: block; margin-top: 4px; }
.tkx-addr-tag {
	align-self: flex-start;
	padding: 3px 10px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--tkx-teal);
	color: var(--tkx-teal);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.tkx-addr-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: auto; }
.tkx-addr-actions form { margin: 0; }

/* ---------- Forms (address + return) ---------- */
.tkx-addr-form,
.tkx-return-form {
	margin-top: 8px;
	padding: 24px;
	border: 1px solid var(--tkx-line);
	border-radius: 10px;
	background: #fff;
}
.tkx-form-title { margin: 0 0 16px !important; font-size: 18px !important; color: var(--tkx-maroon); }
.tkx-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; }
.tkx-full { grid-column: 1 / -1; }
.tkx-field { margin: 0; min-width: 0; }
fieldset.tkx-field { border: 0; padding: 0; }
.tkx-field label,
.tkx-field legend { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; color: var(--tkx-brown); }
.tkx-field input[type=text],
.tkx-field input[type=tel],
.tkx-field input[type=file],
.tkx-field select,
.tkx-field textarea {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid #c9d6de;
	border-radius: 6px;
	background: #fff;
	font: inherit;
	font-size: 15px;
	color: #222;
	box-sizing: border-box;
}
.tkx-field textarea { min-height: 100px; resize: vertical; }
.tkx-field input[type=file] { padding: 8px; background: var(--tkx-tint); }
.tkx-field input:focus,
.tkx-field select:focus,
.tkx-field textarea:focus { outline: 2px solid rgba(24, 96, 120, .35); border-color: var(--tkx-teal); }
.tkx-field .required { color: var(--tkx-red); text-decoration: none; border: 0; }
.tkx-invalid,
.tkx-field .tkx-invalid { border-color: var(--tkx-red) !important; outline-color: rgba(179, 38, 30, .3) !important; }
label.tkx-invalid { color: var(--tkx-red); }
.tkx-check label { display: flex; align-items: flex-start; gap: 8px; font-weight: 400; color: var(--tkx-ink); }
.tkx-check input { margin-top: 3px; }

.tkx-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.tkx-chips legend { width: 100%; }
.tkx-chip { margin: 0 !important; cursor: pointer; }
.tkx-chip input { position: absolute; opacity: 0; pointer-events: none; }
.tkx-chip span {
	display: inline-block;
	padding: 8px 16px;
	border: 1px solid #c9d6de;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	color: var(--tkx-ink);
	background: #fff;
	transition: all .15s;
}
.tkx-chip input:checked + span { background: var(--tkx-teal); border-color: var(--tkx-teal); color: #fff; }
.tkx-chip input:focus-visible + span { outline: 2px solid var(--tkx-teal); outline-offset: 2px; }

.tkx-form-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 20px; }

/* ---------- Returns ---------- */
.tkx-return { margin-top: 32px; }
.tkx-return-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding: 20px 24px;
	border: 1px solid var(--tkx-line);
	border-left: 4px solid var(--tkx-teal);
	border-radius: 8px;
	background: var(--tkx-tint);
}
.tkx-return-form .tkx-title { margin-bottom: 16px !important; }
.tkx-return-items { list-style: none; margin: 0 0 6px; padding: 0; border: 1px solid var(--tkx-line); border-radius: 8px; }
.tkx-return-items.tkx-invalid { border-color: var(--tkx-red); }
.tkx-return-items li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; }
.tkx-return-items li + li { border-top: 1px solid var(--tkx-line); }
.tkx-return-item { display: flex !important; align-items: center; gap: 12px; margin: 0 !important; font-weight: 400 !important; color: var(--tkx-ink) !important; cursor: pointer; }
.tkx-return-item input { width: 18px; height: 18px; flex: 0 0 auto; }
.tkx-return-thumb img { width: 56px !important; height: 56px !important; object-fit: cover; border-radius: 6px; display: block; }
.tkx-return-qty { display: flex !important; align-items: center; gap: 6px; margin: 0 !important; font-size: 13px; }
.tkx-return-qty select { min-height: 36px; padding: 4px 8px; border: 1px solid #c9d6de; border-radius: 6px; }
.tkx-return-note { margin-top: 24px; padding: 12px 16px; border-radius: 6px; background: var(--tkx-tint); color: var(--tkx-ink); font-size: 14px; }

.tkx-return-status { padding: 20px 24px; border: 1px solid var(--tkx-line); border-radius: 10px; background: #fff; }
.tkx-badge {
	display: inline-block;
	padding: 5px 12px;
	border-radius: 999px;
	background: #fff4e0;
	color: #8a5300;
	font-size: 12px;
	font-weight: 700;
}
.is-approved .tkx-badge, .is-received .tkx-badge { background: #e3f0fa; color: var(--tkx-teal-dk); }
.is-refunded .tkx-badge, .is-exchanged .tkx-badge { background: #e4f3e7; color: #2b5d35; }
.is-rejected .tkx-badge { background: #fbe7e6; color: var(--tkx-red); }
.tkx-return-dl { display: grid; grid-template-columns: 140px 1fr; gap: 8px 16px; margin: 0; }
.tkx-return-dl dt { font-weight: 700; color: var(--tkx-brown); }
.tkx-return-dl dd { margin: 0; color: var(--tkx-ink); }

/* ---------- Checkout picker ---------- */
.tkx-checkout-picker {
	max-width: 1200px;
	margin: 0 auto 24px;
	padding: 16px 20px;
	border: 1px solid var(--tkx-line);
	border-radius: 10px;
	background: var(--tkx-tint);
}
.tkx-checkout-picker > label { display: block; margin-bottom: 8px; font-weight: 700; color: var(--tkx-brown); }
.tkx-pick-row { display: flex; gap: 10px; flex-wrap: wrap; }
.tkx-pick-row select { flex: 1 1 260px; min-height: 44px; padding: 8px 12px; border: 1px solid #c9d6de; border-radius: 6px; background: #fff; }
.tkx-pick-manage { display: inline-block; margin-top: 8px; font-size: 13px; color: var(--tkx-teal); }

/* ---------- Orders list: design fixes ---------- */
/* The order number is a row header (<th>) and was getting the dark header
   background with a dark link on top — invisible. */
.woocommerce-account .woocommerce-orders-table tbody th,
.woocommerce-account .woocommerce-orders-table tbody td {
	background: #fff !important;
	color: var(--tkx-ink) !important;
	vertical-align: middle;
	border-bottom: 1px solid var(--tkx-line);
}
.woocommerce-account .woocommerce-orders-table tbody tr:nth-child(even) th,
.woocommerce-account .woocommerce-orders-table tbody tr:nth-child(even) td { background: #f7fafc !important; }
.woocommerce-account .woocommerce-orders-table tbody tr:hover th,
.woocommerce-account .woocommerce-orders-table tbody tr:hover td { background: #eef5f9 !important; }
.woocommerce-account .woocommerce-orders-table__cell-order-number a {
	color: var(--tkx-teal) !important;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0;
	text-decoration: none;
}
.woocommerce-account .woocommerce-orders-table__cell-order-number a:hover { text-decoration: underline; }
.woocommerce-account .woocommerce-orders-table__cell-order-status { font-weight: 600; }
.woocommerce-account .woocommerce-orders-table__cell-order-total .amount { font-size: 17px; }
.woocommerce-account .woocommerce-orders-table__cell-order-total del .amount { font-size: 13px; }

/* ---------- Order details: totals rows ---------- */
.woocommerce-account .woocommerce-table--order-details tfoot th {
	background: #f7fafc !important;
	color: var(--tkx-brown) !important;
	border-bottom: 1px solid var(--tkx-line);
}
.woocommerce-account .woocommerce-table--order-details tfoot td { border-bottom: 1px solid var(--tkx-line); }
.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child td { border-bottom: 0; }

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	.tkx-grid { grid-template-columns: 1fr; }
	.tkx-addr-form, .tkx-return-form { padding: 18px 16px; }
	.tkx-return-cta { padding: 16px; }
	.tkx-return-cta .tkx-btn { width: 100%; }
	.tkx-form-actions .tkx-btn { flex: 1 1 100%; }
	.tkx-return-dl { grid-template-columns: 1fr; gap: 2px; }
	.tkx-return-dl dd { margin-bottom: 8px; }
	.tkx-wishlist { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.tkx-wl-body { padding: 10px; }
	.tkx-wl-actions .tkx-btn { width: 100%; padding: 8px; font-size: 11px; letter-spacing: .08em; }
	.tkx-title { font-size: 18px !important; }

	/* Responsive orders table: rows become cards. */
	.woocommerce-account .woocommerce-orders-table tbody tr {
		display: block;
		margin-bottom: 14px;
		border: 1px solid var(--tkx-line);
		border-radius: 8px;
		overflow: hidden;
	}
	.woocommerce-account .woocommerce-orders-table tbody tr th,
	.woocommerce-account .woocommerce-orders-table tbody tr td { background: #fff !important; }
}

/* ---------- v1.0.2: alignment fixes ---------- */
/* One full-width rule under the whole title row; the theme's own
   heading underline / padding is removed from our titles. */
.woocommerce-account .woocommerce .tkx-section-head,
.tkx-section-head {
	align-items: center;
	margin: 0 0 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--tkx-line);
}
.woocommerce-account .woocommerce .tkx-section-head .tkx-title,
.woocommerce-account .woocommerce-MyAccount-content .tkx-section-head .tkx-title,
.tkx-section-head .tkx-title {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	line-height: 1.2 !important;
}
.woocommerce-account .woocommerce .tkx-section-head .tkx-title::after,
.woocommerce-account .woocommerce .tkx-section-head .tkx-title::before { display: none !important; }

/* Edit (link) and Delete (button) sit on the same line, same size. */
.tkx-addr-actions { align-items: center; }
.tkx-addr-actions form { display: flex; align-items: center; margin: 0; }
.woocommerce .tkx-addr-actions .tkx-link-btn,
.tkx-addr-actions .tkx-link-btn {
	display: inline-flex !important;
	align-items: center;
	height: 28px;
	padding: 0 2px !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	vertical-align: middle;
}
.woocommerce-account .woocommerce .tkx-addr-actions button[type="submit"],
.woocommerce-account .tkx-addr-actions button,
.tkx-addr-actions button { margin: 0 !important; }
@media (max-width: 480px) {
	.tkx-addr-actions { flex-wrap: wrap; row-gap: 8px; }
	.tkx-addr-actions > form:first-child { flex: 1 0 100%; }
	.tkx-addr-actions > form:first-child button { width: 100%; justify-content: center; }
}

/* ================================================================
   v1.1.0 — Wishlist button, Orders list and Order details redesign
   ================================================================ */

/* Wishlist: centre the Add to cart label */
.woocommerce-account .woocommerce .tkx-wl-actions .tkx-btn,
.tkx-wl-actions .tkx-btn,
.tkx-wl-actions .tkx-btn:hover,
.tkx-wl-actions .tkx-btn:focus {
	display: flex !important;
	align-items: center;
	justify-content: center;
	text-align: center !important;
	text-decoration: none !important;
}

/* Shared: plain prices inside our order screens (theme makes them italic/underlined) */
.tkx-orders .woocommerce-Price-amount,
.tkx-od .woocommerce-Price-amount,
.tkx-orders ins, .tkx-od ins {
	font-style: normal !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	color: inherit !important;
	text-decoration: none !important;
	background: none !important;
}
.tkx-orders del, .tkx-od del { opacity: .55; font-weight: 400; margin-right: 4px; }

/* Status pills */
.tkx-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 999px;
	background: #eef2f4;
	color: #50606a;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	line-height: 1.3;
	white-space: nowrap;
}
.tkx-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.tkx-pill.is-processing { background: #e3f0f5; color: var(--tkx-teal); }
.tkx-pill.is-pending,
.tkx-pill.is-on-hold { background: #fdf1dc; color: #8a5a00; }
.tkx-pill.is-shipped { background: #e8ecfa; color: #34489a; }
.tkx-pill.is-completed { background: #e5f2e8; color: var(--tkx-green); }
.tkx-pill.is-cancelled,
.tkx-pill.is-failed { background: #fbe8e7; color: var(--tkx-red); }
.tkx-pill.is-refunded { background: #f2eaf3; color: #6b3d7a; }
.tkx-pill.is-return { background: #fff; color: var(--tkx-maroon); box-shadow: inset 0 0 0 1px currentColor; }

/* ---------- Orders list ---------- */
.tkx-order-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.tkx-order {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto auto;
	grid-template-areas: "thumbs main total actions";
	align-items: center;
	gap: 22px;
	padding: 18px 22px;
	border: 1px solid var(--tkx-line);
	border-radius: 12px;
	background: #fff;
	transition: box-shadow .2s, border-color .2s;
}
.tkx-order:hover { border-color: #bcd3df; box-shadow: 0 8px 22px rgba(24, 96, 120, .09); }
.tkx-order-thumbs { grid-area: thumbs; display: flex; text-decoration: none !important; }
.tkx-order-thumbs img {
	width: 58px !important;
	height: 74px !important;
	object-fit: cover;
	border-radius: 8px;
	border: 2px solid #fff;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
	background: var(--tkx-tint);
	margin: 0 !important;
	display: block;
}
.tkx-order-thumbs img + img { margin-left: -30px !important; }
.tkx-order-main { grid-area: main; min-width: 0; }
.tkx-order-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
.woocommerce-account .woocommerce .tkx-order-no,
.tkx-order-no {
	font-family: BaskOldFace, "Baskerville Old Face", Georgia, serif;
	font-size: 21px;
	line-height: 1.1;
	color: var(--tkx-maroon) !important;
	text-decoration: none !important;
}
.tkx-order-no:hover { color: var(--tkx-teal) !important; }
.tkx-order-items {
	margin: 0 0 2px !important;
	color: var(--tkx-ink);
	font-size: 15px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.tkx-order-items span { color: var(--tkx-teal); font-weight: 600; margin-left: 4px; }
.tkx-order-meta { margin: 0 !important; color: #7a868d; font-size: 13px; }
.tkx-order-total { grid-area: total; display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
.tkx-order-label { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #7a868d; }
.tkx-order-total strong { font-size: 20px; font-weight: 700; color: var(--tkx-teal); line-height: 1.3; }
.tkx-order-total small { font-size: 12px; color: var(--tkx-red); }
.tkx-order-actions { grid-area: actions; display: flex; flex-direction: column; gap: 8px; }
.tkx-order-actions .tkx-act-cancel { border-color: var(--tkx-red); color: var(--tkx-red); }
.tkx-order-actions .tkx-act-cancel:hover { background: var(--tkx-red); color: #fff; }
.tkx-pager { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 22px; color: #7a868d; }
.tkx-empty { padding: 40px 20px; text-align: center; border: 1px dashed var(--tkx-line); border-radius: 12px; background: var(--tkx-tint); }
.tkx-empty p { margin: 0 0 16px; color: var(--tkx-ink); }

/* ---------- Order details ---------- */
.tkx-od { display: flex; flex-direction: column; gap: 22px; }
.woocommerce-account .woocommerce .tkx-back,
.tkx-back {
	align-self: flex-start;
	color: var(--tkx-teal) !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
	margin-bottom: -8px;
}
.tkx-back:hover { color: var(--tkx-maroon) !important; }
.tkx-od-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--tkx-line);
}
.woocommerce-account .woocommerce .tkx-od .tkx-od-title,
.woocommerce-account .woocommerce-MyAccount-content .tkx-od .tkx-od-title,
.tkx-od .tkx-od-title {
	margin: 0 0 4px !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: 32px !important;
	line-height: 1.1 !important;
	color: var(--tkx-maroon);
}
.tkx-od .tkx-od-title::before,
.tkx-od .tkx-od-title::after,
.tkx-od .tkx-od-h::before,
.tkx-od .tkx-od-h::after { display: none !important; }
.tkx-od-date { margin: 0 !important; color: #7a868d; font-size: 14px; }
.tkx-od-pills { display: flex; gap: 8px; flex-wrap: wrap; }

/* Progress tracker */
.tkx-track {
	list-style: none;
	margin: 0;
	padding: 22px 12px 18px;
	display: grid;
	grid-template-columns: repeat(var(--steps, 3), 1fr);
	border: 1px solid var(--tkx-line);
	border-radius: 12px;
	background: var(--tkx-tint);
}
.tkx-track li {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 4px;
	margin: 0;
	padding: 0 6px;
}
.tkx-track li + li::before {
	content: "";
	position: absolute;
	top: 11px;
	right: calc(50% + 15px);
	width: calc(100% - 30px);
	height: 2px;
	background: #c7d6de;
}
.tkx-track li.is-done::before,
.tkx-track li.is-current::before { background: var(--tkx-teal); }
.tkx-track-dot {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid #c7d6de;
	box-sizing: border-box;
	display: grid;
	place-items: center;
}
.tkx-track li.is-done .tkx-track-dot {
	background: var(--tkx-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 13px no-repeat;
	border-color: var(--tkx-teal);
}
.tkx-track li.is-current .tkx-track-dot { border-color: var(--tkx-teal); box-shadow: 0 0 0 5px rgba(24, 96, 120, .15); }
.tkx-track li.is-current .tkx-track-dot::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--tkx-teal); }
.tkx-track-label { font-size: 14px; font-weight: 700; color: #8a979e; }
.tkx-track li.is-done .tkx-track-label,
.tkx-track li.is-current .tkx-track-label { color: var(--tkx-teal); }
.tkx-track-when { font-size: 12px; color: #7a868d; }
.tkx-od-alert { margin: 0 !important; padding: 14px 18px; border-radius: 10px; background: #eef2f4; color: #50606a; font-weight: 600; }
.tkx-od-alert.is-cancelled, .tkx-od-alert.is-failed { background: #fbe8e7; color: var(--tkx-red); }
.tkx-od-alert.is-refunded { background: #f2eaf3; color: #6b3d7a; }

/* Cards */
.tkx-od-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 22px; align-items: start; }
.tkx-od-card { padding: 22px 24px; border: 1px solid var(--tkx-line); border-radius: 12px; background: #fff; }
.woocommerce-account .woocommerce .tkx-od .tkx-od-h,
.woocommerce-account .woocommerce-MyAccount-content .tkx-od .tkx-od-h,
.tkx-od .tkx-od-h {
	margin: 0 0 14px !important;
	padding: 0 !important;
	border: 0 !important;
	font-family: inherit !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	line-height: 1.3 !important;
	color: var(--tkx-teal) !important;
}

/* Items */
.tkx-od-list { list-style: none; margin: 0; padding: 0; }
.tkx-od-item { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px 0; margin: 0; }
.tkx-od-item:first-child { padding-top: 0; }
.tkx-od-item:last-child { padding-bottom: 0; }
.tkx-od-item + .tkx-od-item { border-top: 1px solid var(--tkx-line); }
.tkx-od-thumb img { width: 76px !important; height: 98px !important; object-fit: cover; border-radius: 8px; display: block; margin: 0 !important; background: var(--tkx-tint); }
.tkx-od-info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.woocommerce-account .woocommerce .tkx-od-name,
.tkx-od-name { color: var(--tkx-maroon) !important; font-weight: 700; font-size: 16px; line-height: 1.35; text-decoration: none !important; font-style: normal; }
a.tkx-od-name:hover { color: var(--tkx-teal) !important; }
.tkx-od-info .wc-item-meta { margin: 0; padding: 0; list-style: none; font-size: 13px; color: #7a868d; }
.tkx-od-info .wc-item-meta li { margin: 0; }
.tkx-od-info .wc-item-meta p { display: inline; margin: 0; }
.tkx-od-qty { font-size: 13px; color: #7a868d; }
.tkx-od-qty em { color: var(--tkx-red); font-style: normal; }
.tkx-od-price { font-size: 17px; font-weight: 700; color: var(--tkx-teal); text-align: right; white-space: nowrap; }

/* Summary */
.tkx-od-summary { background: var(--tkx-tint); position: sticky; top: 110px; }
.tkx-od-summary dl { margin: 0; }
.tkx-od-summary dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; margin: 0; font-size: 15px; }
.tkx-od-summary dt { color: var(--tkx-ink); font-weight: 400; margin: 0; }
.tkx-od-summary dd { margin: 0; font-weight: 600; color: var(--tkx-ink); text-align: right; }
.tkx-od-summary dd small, .tkx-od-summary dd .shipped_via { display: block; font-weight: 400; font-size: 12px; color: #7a868d; }
.tkx-od-summary .is-refund dt, .tkx-od-summary .is-refund dd { color: var(--tkx-red); }
.tkx-od-grand {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-top: 10px;
	padding-top: 14px;
	border-top: 1px solid #c7d6de;
}
.tkx-od-grand span { font-weight: 700; text-transform: uppercase; letter-spacing: .1em; font-size: 13px; color: var(--tkx-ink); }
.tkx-od-grand strong { font-size: 24px; color: var(--tkx-maroon); }
.tkx-od-grand strong small { display: block; font-size: 12px; font-weight: 400; color: #7a868d; }
.tkx-od-paid, .tkx-od-note { margin: 12px 0 0 !important; font-size: 13px; color: #50606a; }

/* After-table bits: return note / form / status, Order again */
.tkx-od-after:empty { display: none; }
.tkx-od-after .tkx-return-note { margin-top: 0; }
.tkx-od-after .order-again { margin: 16px 0 0; }

/* Addresses */
.tkx-od-addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 22px; }
.tkx-od-address address { margin: 0; font-style: normal; line-height: 1.7; color: var(--tkx-ink); border: 0 !important; padding: 0 !important; }
.tkx-od-contact { margin: 8px 0 0 !important; font-size: 14px; color: var(--tkx-ink); word-break: break-word; }
.tkx-od-contact + .tkx-od-contact { margin-top: 4px !important; }

/* Order updates timeline */
.tkx-od-updates ol { list-style: none; margin: 0; padding: 0 0 0 18px; border-left: 2px solid var(--tkx-line); }
.tkx-od-updates li { position: relative; margin: 0 0 16px; }
.tkx-od-updates li:last-child { margin-bottom: 0; }
.tkx-od-updates li::before { content: ""; position: absolute; left: -24px; top: 5px; width: 10px; height: 10px; border-radius: 50%; background: var(--tkx-teal); box-shadow: 0 0 0 3px #fff; }
.tkx-od-when { display: block; font-size: 12px; color: #7a868d; margin-bottom: 2px; }
.tkx-od-text p { margin: 0; color: var(--tkx-ink); }

@media (max-width: 991px) {
	.tkx-od-grid { grid-template-columns: 1fr; }
	.tkx-od-summary { position: static; }
}
@media (max-width: 767px) {
	.tkx-order {
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-areas: "thumbs main" "total actions";
		gap: 14px 16px;
		padding: 16px;
	}
	.tkx-order-total { align-items: flex-start; text-align: left; }
	.tkx-order-actions { flex-direction: row; justify-content: flex-end; flex-wrap: wrap; }
	.tkx-order-items { white-space: normal; }
	.tkx-od-card { padding: 18px; }
	.tkx-od .tkx-od-title { font-size: 26px !important; }
	.tkx-track { padding: 18px 4px 14px; }
	.tkx-track-label { font-size: 12px; }
	.tkx-track-when { font-size: 11px; }
	.tkx-od-item { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; }
	.tkx-od-thumb img { width: 64px !important; height: 84px !important; }
	.tkx-od-price { grid-column: 2; text-align: left; font-size: 16px; }
}
/* v1.1.0 polish: fixed-width photo stack so every order's text lines up; solid View button */
.tkx-order-thumbs { width: 94px; flex: 0 0 94px; }
.tkx-order-thumbs img { position: relative; }
.tkx-order-thumbs img + img { margin-left: -40px !important; }
.tkx-order-thumbs img:nth-child(1) { z-index: 3; }
.tkx-order-thumbs img:nth-child(2) { z-index: 2; transform: scale(.94); }
.tkx-order-thumbs img:nth-child(3) { z-index: 1; transform: scale(.88); }
.tkx-order-thumbs.n-1 img { margin-left: 18px !important; }
.woocommerce a.tkx-btn.tkx-btn-solid { background: var(--tkx-teal); border-color: var(--tkx-teal); color: #fff; }
.woocommerce a.tkx-btn.tkx-btn-solid:hover,
.woocommerce a.tkx-btn.tkx-btn-solid:focus-visible { background: var(--tkx-teal-dk); border-color: var(--tkx-teal-dk); color: #fff; }
/* v1.1.1: currency sign same size as amount; single address card half width; compact phone cards */
.tkx-orders .woocommerce-Price-currencySymbol,
.tkx-od .woocommerce-Price-currencySymbol { font-size: inherit !important; vertical-align: baseline !important; font-weight: inherit !important; }
.tkx-od-addresses { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
@media (max-width: 767px) {
	.tkx-order { gap: 12px; padding: 14px; }
	.tkx-order-thumbs { width: 62px; flex-basis: 62px; align-self: start; }
	.tkx-order-thumbs img { width: 46px !important; height: 60px !important; }
	.tkx-order-thumbs img + img { margin-left: -38px !important; }
	.tkx-order-thumbs.n-1 img { margin-left: 8px !important; }
	.tkx-order-top { gap: 6px; margin-bottom: 4px; }
	.woocommerce-account .woocommerce .tkx-order-no, .tkx-order-no { font-size: 19px; white-space: nowrap; }
	.tkx-order-items { font-size: 14px; line-height: 1.4; }
	.tkx-order-meta { font-size: 12px; }
	.tkx-order-total strong { font-size: 18px; }
}

/* ================================================================
   v1.3.0 — Cart, Checkout, Order confirmation, guest choice
   ================================================================ */

/* ---------- Step bar ---------- */
.tkx-steps {
	list-style: none;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0;
	max-width: 640px;
	margin: 0 auto 34px !important;
	padding: 0 !important;
	counter-reset: none;
}
.tkx-steps li {
	position: relative;
	flex: 1 1 0;
	display: flex;
	justify-content: center;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.tkx-steps li + li::before {
	content: "";
	position: absolute;
	top: 15px;
	right: calc(50% + 22px);
	width: calc(100% - 44px);
	height: 2px;
	background: #c7d6de;
}
.tkx-steps li.is-done::before,
.tkx-steps li.is-current::before { background: var(--tkx-teal); }
.tkx-steps li > a,
.tkx-steps li > span:first-child { display: contents; }
.tkx-steps li { flex-direction: column; align-items: center; gap: 6px; }
.tkx-steps a { text-decoration: none !important; }
.tkx-steps-n {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #fff;
	border: 2px solid #c7d6de;
	color: #8a979e;
	font-weight: 700;
	font-size: 14px;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}
.tkx-steps-t { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8a979e; text-align: center; }
.tkx-steps li.is-current .tkx-steps-n { border-color: var(--tkx-teal); color: var(--tkx-teal); box-shadow: 0 0 0 5px rgba(24, 96, 120, .14); }
.tkx-steps li.is-current .tkx-steps-t { color: var(--tkx-teal); }
.tkx-steps li.is-done .tkx-steps-n {
	background: var(--tkx-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 15px no-repeat;
	border-color: var(--tkx-teal);
	color: transparent;
}
.tkx-steps li.is-done .tkx-steps-t { color: var(--tkx-teal); }
.tkx-steps li.is-done a:hover .tkx-steps-t { color: var(--tkx-maroon); }

/* ---------- Shared: cards for cart + checkout ---------- */
.wp-block-woocommerce-cart .wc-block-cart__main,
.wp-block-woocommerce-checkout .wc-block-checkout__main { padding-right: 32px; }
.wp-block-woocommerce-cart .wc-block-components-product-metadata__description,
.wp-block-woocommerce-checkout .wc-block-components-product-metadata__description { display: none !important; }
.wp-block-woocommerce-cart .wc-block-components-product-name,
.wp-block-woocommerce-checkout .wc-block-components-product-name {
	font-style: normal !important;
	font-weight: 700 !important;
	color: var(--tkx-maroon) !important;
	text-decoration: none !important;
	line-height: 1.35 !important;
}
.wp-block-woocommerce-cart .wc-block-components-product-name:hover { color: var(--tkx-teal) !important; }

/* Big primary buttons (Proceed to checkout / Place order) */
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
	width: 100% !important;
	min-height: 54px !important;
	padding: 14px 24px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: var(--tkx-teal) !important;
	background-image: none !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	box-shadow: 0 8px 20px rgba(24, 96, 120, .22) !important;
	transition: background .2s, transform .1s, box-shadow .2s !important;
	clip-path: none !important;
}
.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover { background: var(--tkx-teal-dk) !important; box-shadow: 0 10px 24px rgba(24, 96, 120, .3) !important; }
.wp-block-woocommerce-cart .wc-block-cart__submit-button:active,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:active { transform: translateY(1px); }
.wp-block-woocommerce-cart .wc-block-cart__submit-button::before,
.wp-block-woocommerce-cart .wc-block-cart__submit-button::after,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button::before,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button::after { display: none !important; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text::before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-right: 10px;
	vertical-align: -2px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Summary side panels */
.wp-block-woocommerce-cart .wc-block-cart__sidebar,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
	padding: 24px !important;
	border: 1px solid var(--tkx-line) !important;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: 0 10px 30px rgba(24, 96, 120, .07) !important;
	align-self: flex-start;
	position: sticky;
	top: 110px;
}
.wp-block-woocommerce-cart .wc-block-cart__totals-title,
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-text,
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title {
	margin: 0 0 6px !important;
	padding: 0 0 14px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--tkx-line) !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	color: var(--tkx-teal) !important;
	text-align: left !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout .wc-block-components-totals-wrapper { padding-left: 0 !important; padding-right: 0 !important; border-color: var(--tkx-line) !important; }
.wp-block-woocommerce-cart .wc-block-components-totals-item,
.wp-block-woocommerce-checkout .wc-block-components-totals-item { padding-left: 0 !important; padding-right: 0 !important; font-size: 15px; }
.wp-block-woocommerce-cart .wc-block-components-panel__button,
.wp-block-woocommerce-checkout .wc-block-components-panel__button { font-weight: 600 !important; color: var(--tkx-teal) !important; }
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item,
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item { align-items: baseline; }
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
	color: var(--tkx-ink) !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-formatted-money-amount,
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
	font-size: 26px !important;
	font-weight: 700 !important;
	font-style: normal !important;
	color: var(--tkx-maroon) !important;
}
.wp-block-woocommerce-cart .wc-block-cart__submit { margin-top: 18px !important; margin-bottom: 0 !important; }

/* ---------- Cart items ---------- */
.wp-block-woocommerce-cart .wc-block-cart-items { border: 0 !important; border-collapse: separate !important; border-spacing: 0 14px !important; margin-top: -14px !important; }
.wp-block-woocommerce-cart .wc-block-cart-items__header { display: none !important; }
.wp-block-woocommerce-cart .wc-block-cart-items__row { background: #fff; box-shadow: 0 0 0 1px var(--tkx-line); border-radius: 14px; }
.wp-block-woocommerce-cart .wc-block-cart-items__row > td { border: 0 !important; padding: 18px !important; vertical-align: top !important; }
.wp-block-woocommerce-cart .wc-block-cart-items__row > td:first-child { border-radius: 14px 0 0 14px; padding-right: 0 !important; width: 120px; }
.wp-block-woocommerce-cart .wc-block-cart-items__row > td:last-child { border-radius: 0 14px 14px 0; }
.wp-block-woocommerce-cart .wc-block-cart-item__image img { width: 104px !important; height: 136px !important; object-fit: cover; border-radius: 10px; display: block; }
.wp-block-woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name { font-size: 18px !important; }
.wp-block-woocommerce-cart .wc-block-cart-item__prices { margin: 6px 0 4px; color: #7a868d; font-size: 14px; }
.wp-block-woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price__value,
.wp-block-woocommerce-cart .wc-block-cart-item__prices .wc-block-formatted-money-amount { color: #7a868d !important; font-weight: 400 !important; font-style: normal !important; }
.wp-block-woocommerce-cart .wc-block-cart-item__quantity { margin-top: 14px !important; display: flex !important; align-items: center; gap: 18px; }
.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
	width: 120px !important;
	border: 1px solid #c9d6de !important;
	border-radius: 999px !important;
	overflow: hidden;
	background: #fff;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector::after { display: none !important; }
.wp-block-woocommerce-cart .wc-block-components-quantity-selector input { font-weight: 700 !important; color: var(--tkx-ink) !important; }
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button { color: var(--tkx-teal) !important; font-size: 18px !important; opacity: 1 !important; }
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:hover { background: var(--tkx-tint) !important; }
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	color: #8a979e !important;
	font-size: 13px !important;
	text-decoration: none !important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover { color: var(--tkx-red) !important; }
.wp-block-woocommerce-cart .wc-block-cart-item__total { text-align: right; }
.wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount,
.wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value {
	font-size: 19px !important;
	font-weight: 700 !important;
	font-style: normal !important;
	color: var(--tkx-teal) !important;
}

/* ---------- Checkout ---------- */
.wp-block-woocommerce-checkout .wc-block-checkout__form { counter-reset: tkxstep; }
.wp-block-woocommerce-checkout .wc-block-checkout__form > .wc-block-components-checkout-step {
	counter-increment: tkxstep;
	margin: 0 0 18px !important;
	padding: 24px 26px !important;
	border: 1px solid var(--tkx-line) !important;
	border-radius: 14px !important;
	background: #fff !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step::after { display: none !important; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading { margin: 0 0 16px !important; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title {
	display: flex !important;
	align-items: center;
	gap: 12px;
	font-size: 20px !important;
	letter-spacing: .02em;
}
.wp-block-woocommerce-checkout .wc-block-checkout__form > .wc-block-components-checkout-step .wc-block-components-checkout-step__title::before {
	content: counter(tkxstep);
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--tkx-teal);
	color: #fff;
	font-family: Calibri, "Segoe UI", sans-serif;
	font-size: 15px;
	font-weight: 700;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__container,
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__content { padding: 0 !important; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__description { color: #7a868d; font-size: 14px; }
.wp-block-woocommerce-checkout .wc-block-checkout__order-notes.wc-block-components-checkout-step { counter-increment: none; padding: 16px 26px !important; }
.wp-block-woocommerce-checkout .wc-block-checkout__order-notes .wc-block-components-checkout-step__title::before { display: none !important; }

/* Inputs */
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-combobox .components-combobox-control input,
.wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
.wp-block-woocommerce-checkout .wc-block-components-textarea {
	border: 1px solid #c9d6de !important;
	border-radius: 8px !important;
	background: #fff !important;
	transition: border-color .15s, box-shadow .15s;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus,
.wp-block-woocommerce-checkout .wc-block-components-textarea:focus {
	border-color: var(--tkx-teal) !important;
	box-shadow: 0 0 0 3px rgba(24, 96, 120, .15) !important;
	outline: 0 !important;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input.has-error input,
.wp-block-woocommerce-checkout .wc-block-components-validation-error { border-color: var(--tkx-red) !important; }
.wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input:checked { background: var(--tkx-teal) !important; border-color: var(--tkx-teal) !important; }
.wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #fff !important; }

/* Payment options as selectable cards */
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-layout { border-radius: 0; }
.wp-block-woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control {
	display: grid;
	gap: 10px;
	border: 0 !important;
	box-shadow: none !important;
}
.wp-block-woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
	border: 1px solid #c9d6de !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	background: #fff;
	overflow: hidden;
	transition: border-color .15s, box-shadow .15s, background .15s;
}
.wp-block-woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option::after { display: none !important; }
.wp-block-woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wp-block-woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:has(input:checked) {
	border-color: var(--tkx-teal) !important;
	background: #f4f9fb;
	box-shadow: 0 0 0 1px var(--tkx-teal) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input { border-color: #9fb3be !important; }
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input:checked { border-color: var(--tkx-teal) !important; }
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input:checked::before { background: var(--tkx-teal) !important; }
.wp-block-woocommerce-checkout .wc-block-components-radio-control__label { font-weight: 700; color: var(--tkx-ink); font-size: 15px; }
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-content { color: #50606a; font-size: 14px; }

/* Terms + place order row */
.wp-block-woocommerce-checkout .wc-block-checkout__terms { margin: 6px 0 14px !important; padding-top: 0 !important; border: 0 !important; color: #7a868d; font-size: 13px; }
.wp-block-woocommerce-checkout .wc-block-checkout__terms::before { display: none !important; }
.wp-block-woocommerce-checkout .wc-block-checkout__actions { padding: 0 !important; }
.wp-block-woocommerce-checkout .wc-block-checkout__actions_row { display: flex !important; flex-direction: column-reverse; gap: 14px; align-items: stretch !important; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-return-to-cart-button { align-self: center; color: var(--tkx-teal) !important; font-weight: 600; text-decoration: none !important; }

/* Order summary items in checkout sidebar */
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item { padding: 14px 0 !important; }
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image img { width: 60px !important; height: 78px !important; object-fit: cover; border-radius: 8px; }
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__quantity {
	background: var(--tkx-teal) !important;
	color: #fff !important;
	border: 2px solid #fff !important;
	box-shadow: none !important;
	font-weight: 700;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name { font-size: 15px !important; }
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__individual-prices { color: #7a868d !important; font-size: 13px; }
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__total-price { font-weight: 700; color: var(--tkx-teal); font-style: normal; }
.wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-panel__button { font-size: 14px !important; }

/* Saved address picker sits in the same column width as the form */
.woocommerce-checkout .tkx-checkout-picker {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 14px;
	border: 1px solid var(--tkx-line);
	background: #fff;
}

/* ---------- Guest choice dialog ---------- */
html.tkx-modal-open { overflow: hidden; }
.tkx-gate {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	padding: 16px;
	background: rgba(20, 35, 44, .55);
	animation: tkxFade .18s ease-out;
}
@keyframes tkxFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes tkxRise { from { transform: translateY(14px); opacity: 0; } to { transform: none; opacity: 1; } }
.tkx-gate-box {
	position: relative;
	width: 100%;
	max-width: 520px;
	padding: 34px 30px 28px;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
	text-align: center;
	animation: tkxRise .22s ease-out;
}
.tkx-gate-x {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 36px;
	height: 36px;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: #7a868d !important;
	font-size: 26px !important;
	line-height: 1 !important;
	padding: 0 !important;
	cursor: pointer;
}
.tkx-gate-x:hover { background: var(--tkx-tint) !important; color: var(--tkx-ink) !important; }
.tkx-gate-icon {
	width: 54px;
	height: 54px;
	margin: 0 auto 12px;
	border-radius: 50%;
	background: var(--tkx-tint);
	display: grid;
	place-items: center;
}
.tkx-gate-icon::before {
	content: "";
	width: 24px;
	height: 24px;
	background: var(--tkx-teal);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.tkx-gate .tkx-gate-title {
	margin: 0 0 8px !important;
	padding: 0 !important;
	border: 0 !important;
	font-family: BaskOldFace, "Baskerville Old Face", Georgia, serif !important;
	font-size: 26px !important;
	line-height: 1.2 !important;
	color: var(--tkx-maroon) !important;
	text-transform: none !important;
}
.tkx-gate .tkx-gate-title::after, .tkx-gate .tkx-gate-title::before { display: none !important; }
.tkx-gate-sub { margin: 0 0 22px !important; color: #50606a; font-size: 15px; line-height: 1.5; }
.tkx-gate-opts { display: grid; gap: 12px; }
.tkx-gate .tkx-gate-opt {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
	width: 100%;
	padding: 16px 18px 16px 52px !important;
	border: 1px solid #c9d6de !important;
	border-radius: 12px !important;
	background: #fff !important;
	color: var(--tkx-ink) !important;
	text-align: left !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font: inherit !important;
	cursor: pointer;
	position: relative;
	transition: border-color .15s, box-shadow .15s, background .15s;
	min-height: 0 !important;
	box-shadow: none !important;
}
.tkx-gate .tkx-gate-opt::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 50%;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background: var(--tkx-teal);
	-webkit-mask: var(--ico) center / contain no-repeat;
	        mask: var(--ico) center / contain no-repeat;
}
.tkx-gate .tkx-gate-opt.is-primary {
	--ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4'/%3E%3Cpath d='M10 17l5-5-5-5'/%3E%3Cpath d='M15 12H3'/%3E%3C/svg%3E");
	border-color: var(--tkx-teal) !important;
	background: #f4f9fb !important;
}
.tkx-gate .tkx-gate-opt.is-guest {
	--ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5l7 7-7 7'/%3E%3C/svg%3E");
}
.tkx-gate .tkx-gate-opt:hover,
.tkx-gate .tkx-gate-opt:focus-visible { border-color: var(--tkx-teal) !important; box-shadow: 0 0 0 3px rgba(24, 96, 120, .15) !important; outline: 0; }
.tkx-gate-opt strong { font-size: 16px; color: var(--tkx-maroon); }
.tkx-gate-opt span { font-size: 13px; color: #7a868d; }

/* Login page note when coming from checkout */
.tkx-login-next {
	margin: 0 0 24px;
	padding: 14px 18px;
	border-radius: 10px;
	border-left: 4px solid var(--tkx-teal);
	background: var(--tkx-tint);
	color: var(--tkx-ink);
	font-size: 15px;
	line-height: 1.5;
}
.tkx-login-next strong { color: var(--tkx-maroon); }
.tkx-login-next a { color: var(--tkx-teal); font-weight: 700; margin-left: 4px; }

/* ---------- Order confirmation (thank you) ---------- */
body.tkx-ty .woocommerce-order > .woocommerce-notice--success,
body.tkx-ty .woocommerce-order > .woocommerce-thankyou-order-received,
body.tkx-ty .woocommerce-order > .woocommerce-order-overview,
body.tkx-ty .woocommerce-order > ul.order_details { display: none !important; }
body.tkx-ty .woocommerce-order { max-width: 1040px; margin: 0 auto; }
.tkx-ty-hero { text-align: center; padding: 8px 16px 26px; }
.tkx-ty-check {
	display: grid;
	place-items: center;
	width: 76px;
	height: 76px;
	margin: 0 auto 16px;
	border-radius: 50%;
	background: var(--tkx-green);
	box-shadow: 0 0 0 10px rgba(60, 120, 72, .12);
	animation: tkxPop .45s cubic-bezier(.2, 1.4, .4, 1) both;
}
.tkx-ty-check::before {
	content: "";
	width: 36px;
	height: 36px;
	background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
@keyframes tkxPop { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }
.tkx-ty-kicker { margin: 0 0 6px !important; color: var(--tkx-green); font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
body.tkx-ty .tkx-ty-hero .tkx-ty-title {
	margin: 0 0 10px !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: 36px !important;
	line-height: 1.15 !important;
	color: var(--tkx-maroon) !important;
}
body.tkx-ty .tkx-ty-hero .tkx-ty-title::after,
body.tkx-ty .tkx-ty-hero .tkx-ty-title::before { display: none !important; }
.tkx-ty-lead { max-width: 560px; margin: 0 auto !important; color: #50606a; font-size: 16px; line-height: 1.6; }
.tkx-ty-lead strong { color: var(--tkx-ink); }
.tkx-ty-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	margin: 0 0 22px !important;
	border: 1px solid var(--tkx-line);
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
}
.tkx-ty-facts > div { padding: 16px 20px; margin: 0; }
.tkx-ty-facts > div + div { border-left: 1px solid var(--tkx-line); }
.tkx-ty-facts dt { margin: 0 0 4px; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #7a868d; }
.tkx-ty-facts dd { margin: 0; font-size: 17px; font-weight: 700; color: var(--tkx-ink); }
.tkx-ty-facts dd .woocommerce-Price-amount,
.tkx-ty-facts dd .woocommerce-Price-currencySymbol { font-style: normal !important; color: var(--tkx-teal) !important; font-size: inherit !important; font-weight: inherit !important; text-decoration: none !important; }
/* Payment instructions (Cash on delivery note, bank details) */
body.tkx-ty .woocommerce-order > p,
body.tkx-ty .woocommerce-bacs-bank-details {
	margin: 0 0 22px !important;
	padding: 14px 18px 14px 48px;
	border-radius: 10px;
	background: var(--tkx-tint);
	color: var(--tkx-ink);
	position: relative;
}
body.tkx-ty .woocommerce-order > p::before {
	content: "i";
	position: absolute;
	left: 16px;
	top: 14px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--tkx-teal);
	color: #fff;
	font: 700 13px/20px Georgia, serif;
	text-align: center;
}
body.tkx-ty .woocommerce-bacs-bank-details { padding: 18px 22px; }
body.tkx-ty .woocommerce-bacs-bank-details .wc-bacs-bank-details-heading { margin: 0 0 10px !important; font-size: 16px !important; }
.tkx-ty-body { margin-bottom: 10px; }
.tkx-ty-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; padding-top: 6px; }
.tkx-ty-actions .tkx-btn { min-width: 200px; min-height: 46px !important; font-size: 13px !important; }

/* ---------- Responsive ---------- */
@media (max-width: 781px) {
	.wp-block-woocommerce-cart .wc-block-cart__main,
	.wp-block-woocommerce-checkout .wc-block-checkout__main { padding-right: 0; }
	.wp-block-woocommerce-cart .wc-block-cart__sidebar,
	.wp-block-woocommerce-checkout .wc-block-checkout__sidebar { position: static; padding: 18px !important; }
	.wp-block-woocommerce-checkout .wc-block-checkout__form > .wc-block-components-checkout-step { padding: 18px 16px !important; }
	.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title { font-size: 18px !important; }
}
@media (max-width: 600px) {
	.tkx-steps { margin-bottom: 24px !important; }
	.tkx-steps-t { font-size: 11px; letter-spacing: .04em; }
	.wp-block-woocommerce-cart .wc-block-cart-items__row > td { padding: 14px !important; }
	.wp-block-woocommerce-cart .wc-block-cart-item__image img { width: 74px !important; height: 98px !important; }
	.wp-block-woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name { font-size: 16px !important; }
	.tkx-gate-box { padding: 28px 18px 20px; }
	.tkx-gate .tkx-gate-title { font-size: 22px !important; }
	body.tkx-ty .tkx-ty-hero .tkx-ty-title { font-size: 28px !important; }
	.tkx-ty-facts { grid-template-columns: 1fr 1fr; }
	.tkx-ty-facts > div:nth-child(3) { border-left: 0; }
	.tkx-ty-facts > div:nth-child(n+3) { border-top: 1px solid var(--tkx-line); }
	.tkx-ty-actions .tkx-btn { flex: 1 1 100%; }
}
/* v1.3.0 fixes: step badges visible, single line under summary title, item card edges */
.tkx-steps { margin-top: 30px !important; }
.tkx-steps li > span.tkx-steps-n { display: grid !important; }
.wp-block-woocommerce-cart .wc-block-cart__totals-title { border-bottom: 0 !important; padding-bottom: 6px !important; }
.wp-block-woocommerce-cart .wc-block-cart-items__row { box-shadow: none !important; background: transparent !important; }
.wp-block-woocommerce-cart .wc-block-cart-items__row > td { background: #fff !important; border-top: 1px solid var(--tkx-line) !important; border-bottom: 1px solid var(--tkx-line) !important; }
.wp-block-woocommerce-cart .wc-block-cart-items__row > td:first-child { border-left: 1px solid var(--tkx-line) !important; border-radius: 14px 0 0 14px !important; }
.wp-block-woocommerce-cart .wc-block-cart-items__row > td:last-child { border-right: 1px solid var(--tkx-line) !important; border-radius: 0 14px 14px 0 !important; }
.wp-block-woocommerce-cart .wc-block-cart-items__row > td.wc-block-cart-item__total { display: table-cell !important; }
/* v1.3.0 checkout fixes: one card for the summary, picker spans the full layout */
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; padding: 0 !important; }
.wp-block-woocommerce-checkout .wc-block-components-order-summary,
.wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-panel__content,
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon,
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__content > div { padding-left: 0 !important; padding-right: 0 !important; }
.wp-block-woocommerce-checkout .wc-block-components-panel__button { margin-left: 0 !important; margin-right: 0 !important; }
.woocommerce-checkout .tkx-checkout-picker { max-width: none !important; margin: 0 15px 26px !important; padding: 20px 24px !important; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text { display: inline-flex !important; flex-direction: row !important; align-items: center; justify-content: center; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text::before { margin: 0 10px 0 0 !important; vertical-align: 0; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title { border-bottom: 0 !important; padding-bottom: 6px !important; }
/* v1.3.1 phone fixes: cart card fits, saved-address dropdown can't widen the page */
.tkx-pick-row select { min-width: 0 !important; max-width: 100% !important; width: 100%; text-overflow: ellipsis; }
.tkx-pick-row { min-width: 0; }
@media (max-width: 600px) {
	.tkx-pick-row { flex-direction: column; align-items: stretch !important; }
	.tkx-pick-row .tkx-btn, .tkx-pick-row button { width: 100%; }
	.woocommerce-checkout .tkx-checkout-picker { margin: 0 0 20px !important; padding: 16px !important; }
	.wp-block-woocommerce-cart .wc-block-cart-items { width: 100% !important; table-layout: fixed; }
	.wp-block-woocommerce-cart .wc-block-cart-items__row > td { padding: 12px !important; }
	.wp-block-woocommerce-cart .wc-block-cart-items__row > td:first-child { width: 92px !important; padding-right: 0 !important; }
	.wp-block-woocommerce-cart .wc-block-cart-items__row > td.wc-block-cart-item__total { width: 86px; padding-left: 4px !important; }
	.wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount,
	.wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value { font-size: 15px !important; }
	.wp-block-woocommerce-cart .wc-block-cart-item__quantity { flex-wrap: wrap; gap: 10px; }
}
@media (max-width: 600px) {
	.tkx-pick-row select { flex: 0 0 auto !important; height: auto !important; min-height: 44px; }
}

/* ================================================================
   v1.3.4 — Site review fixes
   ================================================================ */
/* Login / register: the theme's account stylesheet made these buttons transparent (white text on white). */
.woocommerce-account .ts-auth-page button.ts-btn-primary,
.woocommerce-account .ts-auth-page .ts-btn-primary[type="submit"] {
	background: var(--gold, #186078) !important;
	border-color: var(--gold, #186078) !important;
	color: #fff !important;
}
.woocommerce-account .ts-auth-page button.ts-btn-primary:hover,
.woocommerce-account .ts-auth-page button.ts-btn-primary:focus-visible { background: var(--tkx-teal-dk) !important; border-color: var(--tkx-teal-dk) !important; }
/* "Almost there" note sits above the login card, same width */
.woocommerce-account .woocommerce:has(> .tkx-login-next) { flex-wrap: wrap; justify-content: center; }
.woocommerce-account .woocommerce > .tkx-login-next { flex: 0 0 100%; width: 100%; max-width: 460px; margin: 0 auto 22px; box-sizing: border-box; }

/* Alert cards: success (added to cart), info, error */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: wrap;
	gap: 10px 16px !important;
	position: relative;
	margin: 0 0 22px !important;
	padding: 14px 16px 14px 52px !important;
	border: 1px solid var(--tkx-line) !important;
	border-left-width: 4px !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: 0 6px 18px rgba(24, 96, 120, .07);
	color: var(--tkx-ink) !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	list-style: none !important;
}
.woocommerce-message::after,
.woocommerce-info::after,
.woocommerce-error::after { display: none !important; content: none !important; }
.woocommerce-message { border-left-color: var(--tkx-green) !important; background: #f3f9f4 !important; }
.woocommerce-info { border-left-color: var(--tkx-teal) !important; background: #f1f7fa !important; }
.woocommerce-error { border-left-color: var(--tkx-red) !important; background: #fdf3f2 !important; }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	content: "" !important;
	position: absolute !important;
	left: 16px !important;
	top: 50% !important;
	width: 22px !important;
	height: 22px !important;
	margin-top: -11px !important;
	border-radius: 50%;
	font-size: 0 !important;
	background: var(--tkx-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center / 13px no-repeat !important;
}
.woocommerce-info::before {
	background: var(--tkx-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 11v6'/%3E%3Cpath d='M12 7h.01'/%3E%3C/svg%3E") center / 14px no-repeat !important;
}
.woocommerce-error::before {
	background: var(--tkx-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 7v6'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E") center / 14px no-repeat !important;
}
.woocommerce-error li { margin: 0 !important; padding: 0 !important; list-style: none !important; flex: 1 1 100%; }
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	order: 2;
	margin: 0 0 0 auto !important;
	float: none !important;
	display: inline-flex !important;
	align-items: center;
	min-height: 38px !important;
	padding: 8px 18px !important;
	border: 0 !important;
	border-radius: 6px !important;
	background: var(--tkx-teal) !important;
	background-image: none !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	white-space: nowrap;
	clip-path: none !important;
	box-shadow: none !important;
}
.woocommerce-message .button::before, .woocommerce-message .button::after,
.woocommerce-info .button::before, .woocommerce-info .button::after { display: none !important; }
.woocommerce-message .button:hover,
.woocommerce-info .button:hover { background: var(--tkx-teal-dk) !important; }
.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a:not(.button) { color: var(--tkx-teal) !important; font-weight: 700; }
@media (max-width: 600px) {
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error { padding: 12px 14px 12px 46px !important; font-size: 14px !important; }
	.woocommerce-message::before,
	.woocommerce-info::before,
	.woocommerce-error::before { left: 14px !important; top: 14px !important; margin-top: 0 !important; }
	.woocommerce-message .button,
	.woocommerce-info .button { margin-left: 0 !important; }
}
/* Alert buttons: beat the theme's ".woocommerce a.button" brown image */
.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-info a.button,
.woocommerce .woocommerce-error a.button,
.woocommerce-notices-wrapper .woocommerce-message a.button,
.woocommerce-notices-wrapper .woocommerce-info a.button {
	background: var(--tkx-teal) !important;
	background-image: none !important;
	border-radius: 6px !important;
	color: #fff !important;
	padding: 8px 18px !important;
}
.woocommerce .woocommerce-message a.button:hover,
.woocommerce .woocommerce-info a.button:hover,
.woocommerce-notices-wrapper .woocommerce-message a.button:hover { background: var(--tkx-teal-dk) !important; }
/* Edit address form: selects never wider than the screen */
.woocommerce-account .woocommerce-address-fields select,
.woocommerce-account .woocommerce-address-fields .select2-container { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
/* Product grids: price + button line up across a row even when a name wraps */
ul.products li.product { display: flex !important; flex-direction: column; }
ul.products li.product > a.woocommerce-LoopProduct-link { flex: 1 1 auto; display: flex !important; flex-direction: column; }
ul.products li.product > a.woocommerce-LoopProduct-link > img { flex: 0 0 auto; }
ul.products li.product .woocommerce-loop-product__title { flex: 0 0 auto; }
ul.products li.product > a.woocommerce-LoopProduct-link > .price { margin-top: auto !important; }
ul.products li.product > a.button,
ul.products li.product > .button { align-self: center; flex: 0 0 auto; }
/* Related products ("You may also love"): price + button line up */
.ts-related-grid .ts-rel-card { display: flex !important; flex-direction: column; }
.ts-related-grid .ts-rel-info { flex: 1 1 auto; display: flex !important; flex-direction: column; align-items: center; }
.ts-related-grid .ts-rel-price { margin-top: auto !important; }
.ts-related-grid .ts-rel-btn { align-self: center; }
/* My Account forms (Account details, Billing/Shipping address): consistent inputs + teal Save */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields { max-width: 760px; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row { width: 100% !important; float: none !important; margin: 0 0 16px !important; padding: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-first,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-last,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row-first,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row-last { width: calc(50% - 8px) !important; display: inline-block; vertical-align: top; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-first,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row-first { margin-right: 16px !important; }
.woocommerce-account .woocommerce-MyAccount-content form .input-text,
.woocommerce-account .woocommerce-MyAccount-content form select,
.woocommerce-account .woocommerce-MyAccount-content form .select2-selection--single {
	width: 100% !important;
	min-height: 44px !important;
	padding: 10px 14px !important;
	border: 1px solid #c9d6de !important;
	border-radius: 8px !important;
	background-color: #fff !important;
	font-size: 15px !important;
	line-height: 1.4 !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
}
.woocommerce-account .woocommerce-MyAccount-content form .select2-selection--single .select2-selection__rendered { line-height: 22px !important; padding: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-content form .select2-selection--single .select2-selection__arrow { height: 42px !important; }
.woocommerce-account .woocommerce-MyAccount-content form .input-text:focus,
.woocommerce-account .woocommerce-MyAccount-content form select:focus { border-color: var(--tkx-teal) !important; box-shadow: 0 0 0 3px rgba(24, 96, 120, .15) !important; outline: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-content form .password-input { display: block; position: relative; }
.woocommerce-account .woocommerce-MyAccount-content form .password-input .input-text { padding-right: 44px !important; }
.woocommerce-account .woocommerce-MyAccount-content form .show-password-input { top: 50% !important; transform: translateY(-50%); right: 12px !important; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm fieldset { margin: 26px 0 0 !important; padding: 0 !important; border: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm fieldset legend {
	width: 100%; margin: 0 0 16px !important; padding: 0 0 12px !important; border-bottom: 1px solid var(--tkx-line);
	font-size: 13px !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--tkx-teal) !important; font-family: inherit !important;
}
.woocommerce-account .woocommerce-MyAccount-content button[name="save_account_details"],
.woocommerce-account .woocommerce-MyAccount-content button[name="save_address"] {
	min-width: 200px;
	min-height: 48px !important;
	margin: 10px 0 0 !important;
	padding: 12px 28px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: var(--tkx-teal) !important;
	background-image: none !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	clip-path: none !important;
	box-shadow: 0 6px 16px rgba(24, 96, 120, .2) !important;
}
.woocommerce-account .woocommerce-MyAccount-content button[name="save_account_details"]::before,
.woocommerce-account .woocommerce-MyAccount-content button[name="save_account_details"]::after,
.woocommerce-account .woocommerce-MyAccount-content button[name="save_address"]::before,
.woocommerce-account .woocommerce-MyAccount-content button[name="save_address"]::after { display: none !important; }
.woocommerce-account .woocommerce-MyAccount-content button[name="save_account_details"]:hover,
.woocommerce-account .woocommerce-MyAccount-content button[name="save_address"]:hover { background: var(--tkx-teal-dk) !important; }
@media (max-width: 600px) {
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-first,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-last,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row-first,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row-last { width: 100% !important; margin-right: 0 !important; }
	.woocommerce-account .woocommerce-MyAccount-content button[name="save_account_details"],
	.woocommerce-account .woocommerce-MyAccount-content button[name="save_address"] { width: 100%; }
}
/* Account forms: side-by-side First / Last name */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper { display: flex !important; flex-wrap: wrap; column-gap: 16px; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm > *,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper > * { flex: 1 1 100%; min-width: 0; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm > .form-row-first,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm > .form-row-last,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper > .form-row-first,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper > .form-row-last { flex: 1 1 calc(50% - 8px); width: auto !important; margin-right: 0 !important; display: block; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm > .clear,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm > input[type="hidden"] { display: none; }
@media (max-width: 600px) {
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm > .form-row-first,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm > .form-row-last,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper > .form-row-first,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper > .form-row-last { flex-basis: 100%; }
}
/* Header: a closed dropdown must not catch the mouse (it sat invisibly under "New Arrivals") */
@media (min-width: 1025px) {
	header .navbar-nav > li > .sub-menu { visibility: hidden; pointer-events: none; transition: opacity .2s ease, visibility 0s linear .2s; }
	header .navbar-nav > li:hover > .sub-menu,
	header .navbar-nav > li:focus-within > .sub-menu { visibility: visible; pointer-events: auto; transition: opacity .2s ease, visibility 0s; }
}
/* Wishlist cards: stock pill + remove icon on the photo, photo always fills */
.tkx-wl-card { position: relative; }
.tkx-wl-img { position: relative; overflow: hidden; }
.tkx-wl-img img { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; transition: transform .4s ease; }
.tkx-wl-card:hover .tkx-wl-img img { transform: scale(1.04); }
.tkx-wl-card .tkx-wl-stock {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 11px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
	font-size: 11px !important;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1.2;
	pointer-events: none;
}
.tkx-wl-card .tkx-wl-stock::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.tkx-wl-card .tkx-wl-stock.is-in { color: var(--tkx-green); }
.tkx-wl-card .tkx-wl-stock.is-out { color: var(--tkx-red); }
.tkx-wl-card .tkx-wl-actions { flex-direction: column; align-items: stretch; margin-top: auto; padding-top: 12px; }
.tkx-wl-card .tkx-wl-actions .tkx-btn { width: 100%; }
.tkx-wl-card .tkx-wl-remove { position: absolute; top: 10px; right: 10px; z-index: 3; margin: 0; }
.woocommerce .tkx-wl-card .tkx-wl-remove .tkx-link-btn,
.tkx-wl-card .tkx-wl-remove .tkx-link-btn {
	width: 36px !important;
	height: 36px !important;
	min-height: 0 !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, .94) !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .14) !important;
	font-size: 0 !important;
	color: transparent !important;
	text-decoration: none !important;
	display: grid !important;
	place-items: center;
	cursor: pointer;
	transition: background .2s, transform .15s;
}
.tkx-wl-card .tkx-wl-remove .tkx-link-btn::before {
	content: "";
	width: 17px;
	height: 17px;
	background: var(--tkx-maroon);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4h8v2'/%3E%3Cpath d='M19 6l-1 14H6L5 6'/%3E%3Cpath d='M10 11v6M14 11v6'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4h8v2'/%3E%3Cpath d='M19 6l-1 14H6L5 6'/%3E%3Cpath d='M10 11v6M14 11v6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.tkx-wl-card .tkx-wl-remove .tkx-link-btn:hover,
.tkx-wl-card .tkx-wl-remove .tkx-link-btn:focus-visible { background: var(--tkx-red) !important; transform: scale(1.06); }
.tkx-wl-card .tkx-wl-remove .tkx-link-btn:hover::before,
.tkx-wl-card .tkx-wl-remove .tkx-link-btn:focus-visible::before { background: #fff; }
/* Block product grids ("New in store" on the empty cart, etc.): equal photos, price + button aligned */
.wc-block-grid__products .wc-block-grid__product { display: flex !important; flex-direction: column; }
.wc-block-grid__products .wc-block-grid__product-link { display: flex !important; flex-direction: column; flex: 1 1 auto; text-decoration: none !important; }
.wc-block-grid__products .wc-block-grid__product-image { display: block !important; aspect-ratio: 3 / 4; overflow: hidden; margin: 0 !important; }
.wc-block-grid__products .wc-block-grid__product-image img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.wc-block-grid__products .wc-block-grid__product-title { margin: 16px 12px 6px !important; line-height: 1.35 !important; }
.wc-block-grid__products .wc-block-grid__product-price { margin-top: auto !important; }
.wc-block-grid__products .wc-block-grid__product-add-to-cart { margin: 10px 0 20px !important; }
/* My Account notices with a button (temporary password, confirm email): text left, button right */
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-info:has(> .button),
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-message:has(> .button) {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center !important;
	justify-content: flex-start !important;
	text-align: left !important;
	gap: 10px 16px !important;
	padding: 14px 16px 14px 52px !important;
}
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-info > .button,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-info button,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-info form,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-message > .button { margin: 0 0 0 auto !important; align-self: center !important; }
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-info form { display: inline-flex; }
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-info button {
	min-height: 38px !important; padding: 8px 18px !important; border: 0 !important; border-radius: 6px !important;
	background: var(--tkx-teal) !important; background-image: none !important; color: #fff !important;
	font-size: 12px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important;
}
@media (max-width: 600px) {
	body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-info > .button,
	body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-info form,
	body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-message > .button { margin-left: 0 !important; }
}

/* ---------- My Account: tighter notice spacing (desktop + mobile) ---------- */
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-info::before,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-message::before,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-error::before { display: block !important; }
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content > .woocommerce-info,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content > .woocommerce-message,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content > .woocommerce-error,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-notices-wrapper > * { margin: 0 0 18px !important; }
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-notices-wrapper:empty { display: none !important; }
body.woocommerce-account .woocommerce-MyAccount-content > .tkx-orders,
body.woocommerce-account .woocommerce-MyAccount-content > section.tkx-addressbook { padding-top: 0 !important; margin-top: 0 !important; }

/* ---------- My Account menu: slide-in drawer from the right on tablet / phone ---------- */
.tkx-acc-bar,
.tkx-acc-shade,
.tkx-acc-close { display: none; }
@media (max-width: 1024px) {
	.tkx-acc-bar {
		display: flex;
		align-items: center;
		gap: 12px;
		width: 100%;
		margin: 0 0 16px !important;
		padding: 12px 16px !important;
		border: 0 !important;
		border-radius: 12px !important;
		background: linear-gradient(90deg, var(--tkx-teal), var(--tkx-green)) !important;
		color: #fff !important;
		text-align: left !important;
		text-transform: none !important;
		letter-spacing: 0 !important;
		font: inherit !important;
		cursor: pointer;
		box-shadow: 0 8px 20px rgba(24, 96, 120, .2) !important;
		min-height: 0 !important;
	}
	.tkx-acc-bar-ico,
	.tkx-acc-bar-go { flex: 0 0 auto; width: 22px; height: 22px; background: #fff; }
	.tkx-acc-bar-ico {
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h10'/%3E%3C/svg%3E") center / contain no-repeat;
		        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h10'/%3E%3C/svg%3E") center / contain no-repeat;
	}
	.tkx-acc-bar-go {
		width: 18px; height: 18px; margin-left: auto; opacity: .85;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat;
		        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	}
	.tkx-acc-bar-txt { display: flex; flex-direction: column; line-height: 1.2; }
	.tkx-acc-bar-txt small { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
	.tkx-acc-bar-txt strong { font-size: 17px; font-weight: 700; color: #fff; }

	body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation {
		position: fixed !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: auto !important;
		width: min(330px, 86vw) !important;
		max-width: none !important;
		height: 100% !important;
		margin: 0 !important;
		z-index: 100002;
		overflow-y: auto;
		overscroll-behavior: contain;
		border-radius: 18px 0 0 18px !important;
		background: #fff !important;
		box-shadow: -14px 0 40px rgba(0, 0, 0, .22) !important;
		transform: translateX(105%);
		visibility: hidden;
		transition: transform .32s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .32s;
	}
	html.tkx-acc-open body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation {
		transform: none;
		visibility: visible;
		transition: transform .32s cubic-bezier(.2, .8, .2, 1), visibility 0s;
	}
	body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation > * { border-radius: 0 !important; box-shadow: none !important; }
	body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation .tk-account-card { padding-top: 26px !important; padding-right: 56px !important; }
	body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul { border: 0 !important; margin: 0 !important; }
	body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul li a { padding-top: 16px !important; padding-bottom: 16px !important; font-size: 15px !important; }
	.tkx-acc-close {
		display: grid;
		place-items: center;
		position: absolute;
		top: 14px;
		right: 14px;
		z-index: 3;
		width: 36px;
		height: 36px;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 50% !important;
		background: rgba(255, 255, 255, .2) !important;
		color: #fff !important;
		font-size: 26px !important;
		line-height: 1 !important;
		cursor: pointer;
		min-height: 0 !important;
	}
	.tkx-acc-close:hover { background: rgba(255, 255, 255, .32) !important; }
	.tkx-acc-shade {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 100001;
		background: rgba(20, 35, 44, .5);
		opacity: 0;
		pointer-events: none;
		transition: opacity .32s ease;
	}
	html.tkx-acc-open .tkx-acc-shade { opacity: 1; pointer-events: auto; }
	html.tkx-acc-open, html.tkx-acc-open body { overflow: hidden !important; }
	body.woocommerce-account .woocommerce .woocommerce-MyAccount-content { width: 100% !important; max-width: none !important; margin-left: 0 !important; }
}
@media (max-width: 600px) {
	body.woocommerce-account .woocommerce .woocommerce-MyAccount-content { padding: 18px 14px !important; }
}
@media (max-width: 1024px) {
	body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation button.tkx-acc-close { border-radius: 50% !important; width: 36px !important; height: 36px !important; background: rgba(255, 255, 255, .22) !important; box-shadow: none !important; margin: 0 !important; }
}
/* Wishlist remove button: no theme margin around it */
body.woocommerce-account .woocommerce .tkx-wl-card .tkx-wl-remove { display: block; line-height: 0; padding: 0 !important; margin: 0 !important; }
body.woocommerce-account .woocommerce .tkx-wl-card .tkx-wl-remove button.tkx-link-btn { margin: 0 !important; vertical-align: top; }
/* Drawer close button stays round */
@media (max-width: 1024px) {
	body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation button.tkx-acc-close { border-radius: 50% !important; width: 36px !important; height: 36px !important; background: rgba(255, 255, 255, .22) !important; box-shadow: none !important; margin: 0 !important; }
}
/* Wishlist: trash icon exactly centred; one product per row on phones */
body .tkx-wl-card .tkx-wl-remove button.tkx-link-btn { position: relative !important; display: block !important; overflow: hidden; }
body .tkx-wl-card .tkx-wl-remove button.tkx-link-btn::before { position: absolute !important; top: 50% !important; left: 50% !important; margin: 0 !important; transform: translate(-50%, -50%); }
@media (max-width: 600px) {
	.tkx-wishlist { grid-template-columns: 1fr !important; gap: 18px !important; }
	.tkx-wl-card .tkx-wl-img { aspect-ratio: 4 / 5; }
	.tkx-wl-card .tkx-wl-name { font-size: 18px; }
	.tkx-wl-card .tkx-wl-body { padding: 16px; }
}
/* My Account: remove stacked spacing around the account area */
body.woocommerce-account .tk-content .woocommerce { margin: 32px 0 !important; padding: 0 15px !important; }
body.woocommerce-account .tk-content { padding-bottom: 40px !important; }
@media (max-width: 1024px) {
	body.woocommerce-account .tk-content .e-con,
	body.woocommerce-account .tk-content .e-con > .e-con-inner { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; padding: 0 !important; }
	body.woocommerce-account .tk-content .woocommerce { margin: 18px 0 !important; padding: 0 !important; }
	body.woocommerce-account .tk-content { padding-bottom: 24px !important; }
}

/* Wishlist: trash icon exactly centred; one product per row on phones */
body .tkx-wl-card .tkx-wl-remove button.tkx-link-btn { position: relative !important; display: block !important; overflow: hidden; }
body .tkx-wl-card .tkx-wl-remove button.tkx-link-btn::before { position: absolute !important; top: 50% !important; left: 50% !important; margin: 0 !important; transform: translate(-50%, -50%); }
@media (max-width: 600px) {
	.tkx-wishlist { grid-template-columns: 1fr !important; gap: 18px !important; }
	.tkx-wl-card .tkx-wl-img { aspect-ratio: 4 / 5; }
	.tkx-wl-card .tkx-wl-name { font-size: 18px; }
	.tkx-wl-card .tkx-wl-body { padding: 16px; }
}
/* Ratings sit on the photo's bottom-right corner (product cards everywhere) */
ul.products li.product > a.woocommerce-LoopProduct-link { display: grid !important; grid-template-columns: 100%; grid-template-rows: auto auto 1fr; }
ul.products li.product > a.woocommerce-LoopProduct-link > img { grid-area: 1 / 1; }
ul.products li.product > a.woocommerce-LoopProduct-link > .woocommerce-loop-product__title { grid-row: 2; }
ul.products li.product > a.woocommerce-LoopProduct-link > .price { grid-row: 3; align-self: end; }
ul.products li.product > a.woocommerce-LoopProduct-link > .star-rating {
	grid-area: 1 / 1;
	align-self: end;
	justify-self: end;
	position: relative;
	z-index: 2;
	float: none !important;
	margin: 0 10px 10px 0 !important;
	border: 6px solid rgba(255, 255, 255, .94);
	border-left-width: 10px;
	border-right-width: 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
	box-sizing: content-box;
	font-size: 12px !important;
	color: #e3a008 !important;
}
ul.products li.product > a.woocommerce-LoopProduct-link > .star-rating::before { color: #d9d9d9 !important; opacity: 1 !important; }
ul.products li.product > a.woocommerce-LoopProduct-link > .star-rating span::before { color: #e3a008 !important; }

/* Block grids ("New in store"): rating over the photo too */
.wc-block-grid__products .wc-block-grid__product { position: relative; container-type: inline-size; }
.wc-block-grid__products .wc-block-grid__product > .wc-block-grid__product-rating,
.wc-block-grid__products .wc-block-grid__product .wc-block-grid__product-rating {
	position: absolute;
	top: calc(133.333cqw - 38px);
	right: 10px;
	z-index: 2;
	margin: 0 !important;
	padding: 5px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
	line-height: 1;
}
.wc-block-grid__products .wc-block-grid__product-rating .star-rating { margin: 0 !important; font-size: 12px !important; color: #e3a008 !important; float: none !important; }
ul.products li.product > a.woocommerce-LoopProduct-link > img { margin-bottom: 0 !important; }
ul.products li.product > a.woocommerce-LoopProduct-link > .woocommerce-loop-product__title { margin-top: 16px !important; }
/* My Account: the Elementor wrapper must grow with its content (never shrink under the footer) */
body.woocommerce-account .tk-content .e-con,
body.woocommerce-account .tk-content .e-con > .e-con-inner { height: auto !important; min-height: 0 !important; }
body.woocommerce-account .tk-content .elementor-element:has(.woocommerce),
body.woocommerce-account .tk-content .elementor-widget-shortcode { flex-shrink: 0 !important; height: auto !important; }
/* My Account on tablet / phone: stack the menu bar above the content (fixes left gap + footer overlap) */
@media (max-width: 1024px) {
	body.woocommerce-account .tk-content .woocommerce { display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch !important; }
	body.woocommerce-account .tk-content .woocommerce > .tkx-acc-bar,
	body.woocommerce-account .tk-content .woocommerce > .woocommerce-MyAccount-content { flex: 0 0 auto !important; width: 100% !important; max-width: none !important; }
}
/* My Account on tablet / phone: Elementor columns as plain blocks so the page height is always right */
@media (max-width: 1024px) {
	body.woocommerce-account .tk-content .e-con,
	body.woocommerce-account .tk-content .e-con > .e-con-inner { display: block !important; }
}
/* Block grids: no size containment (it collapsed the cards on phones); rating lives inside the photo */
.wc-block-grid__products .wc-block-grid__product { container-type: normal !important; }
.wc-block-grid__products .wc-block-grid__product-image { position: relative !important; }
.wc-block-grid__products .wc-block-grid__product-image .wc-block-grid__product-rating,
.wc-block-grid__products .wc-block-grid__product > .wc-block-grid__product-rating { top: auto !important; bottom: 10px !important; right: 10px !important; left: auto !important; }
.wc-block-grid__products .wc-block-grid__product > .wc-block-grid__product-rating { position: static !important; margin: 6px auto 0 !important; }
@media (max-width: 600px) {
	.wc-block-grid__products .wc-block-grid__product { width: 100% !important; max-width: none !important; justify-self: stretch !important; }
}
/* Addresses: clear gap above "Saved addresses", no extra space below */
body.woocommerce-account .woocommerce-MyAccount-content > section.tkx-addressbook { margin-top: 32px !important; padding: 0 !important; }
body.woocommerce-account .woocommerce-MyAccount-content > section.tkx-addressbook > :last-child,
body.woocommerce-account .woocommerce-MyAccount-content > section.tkx-addressbook > .tkx-addr-list:nth-last-child(2):has(+ form[hidden]),
body.woocommerce-account .woocommerce-MyAccount-content > section.tkx-addressbook > .tkx-muted:has(+ form[hidden]) { margin-bottom: 0 !important; }
body.woocommerce-account .woocommerce-MyAccount-content > :last-child { margin-bottom: 0 !important; }
/* One size for every product-card button (matches the Shop "Shop now" button: 35px, 13px text) */
.wc-block-grid__products .wc-block-grid__product-add-to-cart .wp-block-button__link,
.wc-block-grid__products .wc-block-grid__product-add-to-cart a,
.ts-related-grid .ts-rel-btn,
.woocommerce-account .woocommerce .tkx-wl-card .tkx-wl-actions a.button,
.tkx-wl-card .tkx-wl-actions a.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 11px 30px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 13px !important;
	letter-spacing: .08em !important;
	white-space: nowrap;
}
.wc-block-grid__products .wc-block-grid__product-add-to-cart { display: flex; justify-content: center; }
.tkx-wl-card .tkx-wl-actions { align-items: center !important; }
.tkx-wl-card .tkx-wl-actions .tkx-btn { width: auto !important; }
/* Address cards: white instead of blue tint */
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-Address,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .u-columns .u-column1,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .u-columns .u-column2,
body.woocommerce-account .woocommerce .tkx-addr-card {
	background: #fff !important;
	border: 1px solid var(--tkx-line) !important;
	box-shadow: 0 4px 14px rgba(24, 96, 120, .06) !important;
}
/* Account card: long names stay on one line (no mid-word break) */
.tk-account-card .tk-account-hello { min-width: 0; flex: 1 1 auto; overflow: hidden; }
.tk-account-card .tk-account-name {
	overflow-wrap: normal !important;
	word-break: normal !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	max-width: 100%;
	font-size: clamp(14px, 1.1vw + 6px, 18px) !important;
	letter-spacing: .02em;
}
.tk-account-card .tk-account-name { font-size: 16px !important; letter-spacing: 0 !important; }
/* Dashboard tiles: white cards, tinted icon circle */
.tk-account-tiles .tk-account-tile {
	background: #fff !important;
	border: 1px solid var(--tkx-line) !important;
	box-shadow: 0 4px 14px rgba(24, 96, 120, .06) !important;
	transition: border-color .2s, box-shadow .2s, transform .2s;
}
.tk-account-tiles .tk-account-tile:hover {
	border-color: #bcd3df !important;
	box-shadow: 0 10px 24px rgba(24, 96, 120, .12) !important;
	transform: translateY(-2px);
}
.tk-account-tiles .tk-account-tile .tk-account-tile-icon { background: var(--tkx-tint) !important; }

/* Contact page form: error line */
.tkx-form-error { display: none; margin: 14px 0 0; padding: 12px 16px; border-radius: 6px; background: #fdecec; color: #a12a2a; font-size: 14px; line-height: 1.45; }
.ts-contact-form .ts-submit-btn[disabled] { opacity: .7; cursor: wait; }


/* ================= v1.4.6 review fixes ================= */
/* 1. Product page price: bigger */
.ts-info .ts-price .woocommerce-Price-amount,
.ts-info .ts-price .woocommerce-Price-amount bdi { font-size: 28px !important; line-height: 1.25 !important; font-weight: 700 !important; }
.ts-info .ts-price del .woocommerce-Price-amount,
.ts-info .ts-price del .woocommerce-Price-amount bdi { font-size: 20px !important; font-weight: 500 !important; }
@media (max-width: 600px) {
	.ts-info .ts-price .woocommerce-Price-amount,
	.ts-info .ts-price .woocommerce-Price-amount bdi { font-size: 25px !important; }
}

/* 2 + 4. Breadcrumb: +2px on desktop, one compact line on phones */
.ts-breadcrumb, .ts-breadcrumb .woocommerce-breadcrumb { font-size: 14px !important; }
.ts-breadcrumb .woocommerce-breadcrumb a { font-size: 13px !important; }
@media (max-width: 767px) {
	.ts-breadcrumb { padding: 10px 0 !important; }
	.ts-breadcrumb .woocommerce-breadcrumb {
		font-size: 10.5px !important; letter-spacing: .4px !important; line-height: 1.5 !important;
		white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
	}
	.ts-breadcrumb .woocommerce-breadcrumb a { font-size: 10.5px !important; letter-spacing: .4px !important; }
	.ts-breadcrumb .woocommerce-breadcrumb span { margin: 0 5px !important; }
}

/* 3. Footer credit: gentle colour change on hover */
.copyright-text a { transition: color .2s ease; }
.copyright-text a:hover, .copyright-text a:focus { color: #f3d27e !important; }

/* 5. Out of stock: no squeezed text; quantity box hidden, muted full-width button */
.ts-purchase-row .ts-add-btn { white-space: nowrap !important; }
.ts-purchase-row:has(.ts-add-btn:disabled) .ts-qty { display: none !important; }
.ts-purchase-row .ts-add-btn:disabled {
	background: #e3e8ec !important; color: #5b6770 !important; border-color: #d3dbe1 !important;
	cursor: not-allowed !important; box-shadow: none !important; transform: none !important; opacity: 1 !important;
}
.ts-purchase-row .ts-add-btn:disabled::before, .ts-purchase-row .ts-add-btn:disabled::after { opacity: .5; }
@media (max-width: 600px) {
	.ts-purchase-row .ts-add-btn { padding: 0 14px !important; letter-spacing: 1.2px !important; font-size: 14px !important; }
}

/* 6. Mobile menu button: phones keep "hover" after a tap, which turned the
      button teal and hid the teal lines. Keep the closed state light. */
.navbar .navbar-toggler:not([aria-expanded="true"]):hover,
.navbar .navbar-toggler:not([aria-expanded="true"]):focus,
.navbar .navbar-toggler:not([aria-expanded="true"]):active {
	background: #e8f0f7 !important; color: var(--primary-color, #186078) !important;
	transform: none !important; box-shadow: none !important;
}
.navbar .navbar-toggler[aria-expanded="true"],
.navbar .navbar-toggler[aria-expanded="true"]:hover,
.navbar .navbar-toggler[aria-expanded="true"]:focus { color: #fff !important; transform: none !important; }
.navbar .navbar-toggler svg path { stroke: currentColor !important; }

/* v1.4.7: full-width purchase row; breadcrumb ellipsis needs block layout */
.ts-info form.cart { width: 100% !important; flex: 1 1 100% !important; }
form.cart .ts-purchase-row { width: 100% !important; }
@media (max-width: 767px) {
	.ts-breadcrumb .woocommerce-breadcrumb { display: block !important; }
}


/* ================= v1.4.9 text contrast: no dull / washed-out text ================= */
/* Theme greys and the light teal were too pale on white, tint and cream backgrounds. */
html:root, html body {
	--td-ink: #474d53 !important;       /* was #6c6c6c */
	--text-light: #4a5056 !important;   /* was #666 */
	--primary-light: #186078 !important;/* was #2a87a3 (card prices, small links) */
	--wc-subtext: #555b61 !important;   /* was #767676 */
}
/* Elementor global "Primary" (#0089a5) -> brand teal */
html body.elementor-kit-6, html body[class*="elementor-kit-"] { --e-global-color-primary: #186078 !important; }

/* Hard-coded greys */
.ts-desc-text, .ts-desc-text p, .tk-account-tile-text { color: #3d4348 !important; }
.elementor-tab-content, .elementor-tab-content p, .elementor-accordion .elementor-tab-content { color: #42484e !important; }
.ts-breadcrumb .woocommerce-breadcrumb { color: #4f565c !important; }
.woocommerce-result-count, .ts-share-label, .ts-tab-btn, .ts-related-head p, .ts-404-desc, .ts-404-links-label, .tkx-count { color: #4a5056 !important; }
.tkx-order-meta, .tkx-order-label, .tkx-muted { color: #55626a !important; }
.ts-tab-btn.active, .ts-tab-btn[aria-selected="true"] { color: var(--primary-color, #186078) !important; }
.woocommerce-MyAccount-content > p, .woocommerce-MyAccount-content > p strong { color: #42484e !important; }
.wc-block-grid__product-price, .wc-block-grid__product-price .woocommerce-Price-amount,
.ts-product-card .price, .ts-product-card .woocommerce-Price-amount { color: #186078 !important; }

/* v1.5.0: remaining pale greys / light teal */
html:root, html body {
	--brown-lt: #474d53 !important;     /* was #6c6c6c */
	--td-teal-lt: #186078 !important;   /* was #2a87a3 (shop card prices) */
}
/* grey colours typed directly into page content */
[style*="color:#6c6c6c"], [style*="color: #6c6c6c"], [style*="color:#6C6C6C"], [style*="color: #6C6C6C"],
[style*="color:#666"], [style*="color: #666"], [style*="color:#888"], [style*="color: #888"],
[style*="color:#999"], [style*="color: #999"], [style*="color:#aaa"], [style*="color: #aaa"] { color: #4a5056 !important; }

/* v1.5.1: footer bottom bar links (Thokai Sarees / BlazeHexa) - visible hover colour */
html body .site-footer .copyright-text a { transition: color .2s ease, text-decoration-color .2s ease; text-decoration: none; }
html body .site-footer .copyright-text a:hover,
html body .site-footer .copyright-text a:focus-visible {
	color: #f3d27e !important;
	text-decoration: underline !important; text-decoration-color: rgba(243, 210, 126, .6) !important; text-underline-offset: 3px;
}

/* ================= v1.5.2 site review: readability + tap targets ================= */
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
/* tiny 10px text */
.woocommerce-Address-title a.edit, .woocommerce-Address a.edit { font-size: 13px !important; }
.ts-zoom-hint { font-size: 11px !important; }
/* breadcrumb links: bigger finger target on phones */
@media (max-width: 767px) {
	.ts-breadcrumb .woocommerce-breadcrumb a, .tk-crumbs a { display: inline-block; padding: 6px 0; }
}

/* v1.5.3: "Ready to shop" bands - light base colour under the feather artwork
   (the green base showed through for screen readers / contrast checkers) */
.elementor-357 .elementor-element.elementor-element-56eb521,
.elementor-420 .elementor-element.elementor-element-798dee6 { background-color: #fbf8f2 !important; }

/* v1.5.4: product-card SHOP NOW buttons - real background colour behind the brown/green
   artwork (clipped to the inner area so the ornamental ends look exactly the same).
   Lets screen readers and contrast checkers see white-on-brown instead of white-on-cream. */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .button {
	background-image: var(--td-btn-brown), none !important;
	background-clip: border-box, content-box !important;
	background-color: #48180c !important;
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product a.button:focus-visible,
.woocommerce ul.products li.product .button:hover {
	background-image: var(--td-btn-green), none !important;
	background-color: #2f5f39 !important;
}

/* v1.5.5 — product page: gallery is always full width, so the photo box keeps its size before the photo arrives (no layout jump) */
.ts-product > .ts-gallery,.ts-product > .ts-info{width:100%;min-width:0}
.ts-main-img{width:100%}

/* v1.6.0 — product page colour swatches */
.tkx-var-form{width:100%;margin:4px 0 2px}
.tkx-swatch-group{margin:0 0 18px}
.tkx-swatch-label{font-size:15px;color:#474d53;margin:0 0 10px;line-height:1.4}
.tkx-swatch-label span{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#474d53}
.tkx-swatch-chosen{color:var(--primary-color,#186078);font-weight:700;margin-left:4px}
.tkx-swatches{display:flex;flex-wrap:wrap;gap:12px}
.tkx-swatch{--tkx-sw:#d9d9d9;position:relative;width:38px;height:38px;min-width:38px;padding:0;margin:0;border-radius:50%;border:2px solid #fff;background-color:var(--tkx-sw);background-position:center;background-size:cover;background-repeat:no-repeat;box-shadow:0 0 0 1px rgba(0,0,0,.22);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.tkx-swatch:hover{transform:scale(1.08)}
.tkx-swatch.is-selected{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--primary-color,#186078);transform:none}
.tkx-swatch:focus{outline:none}
.tkx-swatch:focus-visible{outline:2px solid #48180c;outline-offset:5px}
.tkx-swatch.is-out{opacity:.45}
.tkx-swatch.is-out::after{content:"";position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;background:#5b6770;transform:translateX(-50%) rotate(45deg)}
.tkx-swatch-select,.tkx-var-form .reset_variations{display:none!important}
.tkx-swatch-msg{margin:-6px 0 14px;color:#b3261e;font-size:14px;font-weight:600}
.tkx-var-form .single_variation .woocommerce-variation-price{display:none}
.tkx-var-form .single_variation .stock{margin:0 0 10px;font-size:14px;font-weight:600}
.tkx-var-form .single_variation .stock.in-stock{color:#2f5f39}
.tkx-var-form .single_variation .stock.out-of-stock{color:#b3261e}
.tkx-var-form .ts-add-btn.disabled{opacity:.8}
.ts-buy-btn[aria-disabled="true"]{opacity:.8}
.tkx-var-price del{opacity:.6;font-size:.7em;margin-left:8px}
.tkx-var-price ins{text-decoration:none}
@media (max-width:600px){.tkx-swatches{gap:12px}.tkx-swatch{width:40px;height:40px;min-width:40px}}

/* v1.6.1 — keep each swatch its own colour in every state (theme button hover/active/focus styles) */
html body .tkx-var-form .tkx-swatch,html body .tkx-var-form .tkx-swatch:hover,html body .tkx-var-form .tkx-swatch:focus,html body .tkx-var-form .tkx-swatch:active,html body .tkx-var-form .tkx-swatch.is-selected{background-color:var(--tkx-sw)!important;color:transparent!important;border:2px solid #fff!important;padding:0!important}
html body .tkx-var-form .tkx-swatch--img,html body .tkx-var-form .tkx-swatch--img:hover,html body .tkx-var-form .tkx-swatch--img:focus,html body .tkx-var-form .tkx-swatch--img:active{background-size:cover!important;background-position:center!important}

/* v1.7.0 — colour picker from labelled photos (simple products) */
.tkx-photo-picker{margin:4px 0 18px;width:100%}
html body .tkx-photo-picker .tkx-swatch,html body .tkx-photo-picker .tkx-swatch:hover,html body .tkx-photo-picker .tkx-swatch:focus,html body .tkx-photo-picker .tkx-swatch:active,html body .tkx-photo-picker .tkx-swatch.is-selected{background-color:var(--tkx-sw)!important;color:transparent!important;border:2px solid #fff!important;padding:0!important}
html body .tkx-photo-picker .tkx-swatch--img,html body .tkx-photo-picker .tkx-swatch--img:hover,html body .tkx-photo-picker .tkx-swatch--img:focus,html body .tkx-photo-picker .tkx-swatch--img:active{background-size:cover!important;background-position:center!important}
.ts-purchase-form .tkx-swatch-msg{margin:-8px 0 14px;width:100%}

/* v1.7.1 — product cards: sale badge inside the card, price directly under the title, buttons aligned */
html body.woocommerce ul.products li.product .onsale,html body .woocommerce ul.products li.product .onsale,html body ul.products li.product span.onsale{margin:0!important;top:12px!important;right:12px!important;left:auto!important;bottom:auto!important;border-radius:4px!important;z-index:2;line-height:1.4}
html body .woocommerce ul.products li.product,html body.woocommerce ul.products li.product{display:flex!important;flex-direction:column}
html body .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,html body.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{grid-template-rows:auto auto auto!important;align-content:start;flex:1 1 auto}
html body .woocommerce ul.products li.product .woocommerce-loop-product__title,html body.woocommerce ul.products li.product .woocommerce-loop-product__title{min-height:0!important;margin:16px 0 6px!important}
html body .woocommerce ul.products li.product .price,html body.woocommerce ul.products li.product .price{margin:0 0 16px!important}
html body .woocommerce ul.products li.product > a.button,html body.woocommerce ul.products li.product > a.button{margin-top:auto!important}
html body .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link + a.button{margin-top:auto!important}

/* v1.7.3 — product cards: title area always two lines tall, so every price sits at the same height; space between old and sale price */
html body .woocommerce ul.products li.product .woocommerce-loop-product__title,html body.woocommerce ul.products li.product .woocommerce-loop-product__title{line-height:1.4!important;min-height:2.8em!important;display:flex!important;align-items:center;justify-content:center;text-align:center}
html body .woocommerce ul.products li.product .price del,html body.woocommerce ul.products li.product .price del{margin-right:10px!important;display:inline-block}
html body .woocommerce ul.products li.product .price ins,html body.woocommerce ul.products li.product .price ins{display:inline-block;margin-left:0}

/* v1.7.4 — discount pill on product cards */
html body ul.products li.product span.onsale.tkx-discount{background:#b3261e!important;color:#fff!important;font-weight:700!important;letter-spacing:.5px;padding:5px 12px!important;border-radius:999px!important;font-size:12px!important;box-shadow:0 2px 6px rgba(0,0,0,.18);min-width:0!important;min-height:0!important;line-height:1.3!important;text-transform:uppercase}

/* v1.7.5 — checkout payment options: clean separate cards, single-ring radio */
html body .wc-block-checkout__payment-method .wc-block-components-radio-control::after,
html body .wc-block-checkout__payment-method .wc-block-components-radio-control::before,
html body .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option::after,
html body .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option::before{display:none!important;content:none!important}
html body .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option{box-shadow:none!important;border:1px solid #c9d6de!important;border-radius:10px!important;background:#fff;transition:border-color .15s,background-color .15s}
html body .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:hover{border-color:#186078!important}
html body .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
html body .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:has(input:checked){border:2px solid #186078!important;background:#f2f7f9!important}
html body .wc-block-checkout__payment-method .wc-block-components-radio-control__input{outline:none!important;box-shadow:none!important;border:2px solid #9aa9b2!important;background:#fff!important}
html body .wc-block-checkout__payment-method .wc-block-components-radio-control__input:checked{border-color:#186078!important}
html body .wc-block-checkout__payment-method .wc-block-components-radio-control__input:focus-visible{outline:2px solid #186078!important;outline-offset:2px!important}
html body .wc-block-checkout__payment-method .wc-block-components-radio-control__option{box-shadow:none!important}

/* v1.7.6 — shop category filter chips */
.tkx-cat-chips{margin:0 0 24px}
.tkx-cat-chips ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.tkx-cat-chips li{margin:0;padding:0}
html body .tkx-cat-chips a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid #c9d6de;border-radius:999px;background:#fff;color:#2f2f2f;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s}
.tkx-cat-chips a span{font-size:12px;font-weight:700;color:#186078;background:#e8f0f7;border-radius:999px;padding:2px 8px;min-width:24px;text-align:center}
html body .tkx-cat-chips a:hover{border-color:#186078;color:#186078}
html body .tkx-cat-chips a.is-active{background:#186078;border-color:#186078;color:#fff}
.tkx-cat-chips a.is-active span{background:rgba(255,255,255,.22);color:#fff}
.tkx-cat-chips a:focus-visible{outline:2px solid #48180c;outline-offset:2px}
@media (max-width:767px){
.tkx-cat-chips{margin:0 0 18px}
.tkx-cat-chips ul{flex-wrap:nowrap;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
.tkx-cat-chips ul::-webkit-scrollbar{display:none}
.tkx-cat-chips li{scroll-snap-align:start;flex:0 0 auto}
html body .tkx-cat-chips a{padding:8px 14px;font-size:13px}
}

/* v1.7.7 — shop pagination: even boxed buttons */
html body .woocommerce nav.woocommerce-pagination ul.page-numbers{border:0!important;margin:0!important;display:flex!important;flex-wrap:wrap;justify-content:center;gap:8px}
html body .woocommerce nav.woocommerce-pagination ul.page-numbers::before,html body .woocommerce nav.woocommerce-pagination ul.page-numbers::after{display:none!important;content:none!important}
html body .woocommerce nav.woocommerce-pagination ul.page-numbers li{border:0!important;overflow:visible!important;margin:0!important;padding:0!important;float:none!important;background:none!important}
html body .woocommerce nav.woocommerce-pagination ul.page-numbers li .page-numbers{display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;width:42px;height:42px;min-width:42px;padding:0!important;margin:0!important;border:1px solid #c9d6de!important;border-radius:8px!important;background:#fff!important;color:#2f2f2f!important;font-size:15px;font-weight:600;line-height:1!important;text-decoration:none;box-shadow:none!important;transition:background-color .15s,border-color .15s,color .15s}
html body .woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover,html body .woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:focus-visible{border-color:#186078!important;color:#186078!important;background:#f2f7f9!important}
html body .woocommerce nav.woocommerce-pagination ul.page-numbers li span.current{background:#186078!important;border-color:#186078!important;color:#fff!important}
html body .woocommerce nav.woocommerce-pagination ul.page-numbers li .dots{border-color:transparent!important;background:none!important}

/* v1.7.7 — category chips: one-row slider with arrows on every screen */
.tkx-cat-chips{position:relative;margin:0 0 24px}
html body .tkx-cat-chips ul{flex-wrap:nowrap!important;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:3px 2px 6px!important;cursor:grab}
.tkx-cat-chips ul::-webkit-scrollbar{display:none}
.tkx-cat-chips.is-dragging ul{cursor:grabbing;scroll-behavior:auto}
.tkx-cat-chips.is-dragging a{pointer-events:none}
.tkx-cat-chips li{flex:0 0 auto}
.tkx-cat-chips .tkx-chip-nav{position:absolute;top:50%;transform:translateY(-58%);z-index:2;width:38px;height:38px;border-radius:50%;border:1px solid #c9d6de;background:#fff;color:#186078;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12);transition:opacity .2s}
.tkx-cat-chips .tkx-chip-nav:hover{border-color:#186078;background:#f2f7f9;color:#186078}
.tkx-cat-chips .tkx-chip-nav svg{width:18px;height:18px}
.tkx-cat-chips .tkx-chip-prev{left:-6px}
.tkx-cat-chips .tkx-chip-next{right:-6px}
.tkx-cat-chips .tkx-chip-nav[hidden]{display:none}
.tkx-cat-chips.has-prev::before,.tkx-cat-chips.has-next::after{content:"";position:absolute;top:0;bottom:6px;width:64px;z-index:1;pointer-events:none}
.tkx-cat-chips.has-prev::before{left:0;background:linear-gradient(90deg,#fff 35%,rgba(255,255,255,0))}
.tkx-cat-chips.has-next::after{right:0;background:linear-gradient(270deg,#fff 35%,rgba(255,255,255,0))}
@media (max-width:767px){.tkx-cat-chips .tkx-chip-nav{display:none!important}.tkx-cat-chips.has-prev::before,.tkx-cat-chips.has-next::after{width:22px}.tkx-cat-chips.has-prev::before{background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}.tkx-cat-chips.has-next::after{background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}}

/* v1.7.9 — common saree size panel (Description tab) */
.tkx-saree-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0 0 22px}
.tkx-saree-spec{border:1px solid #d7e4ec;border-radius:10px;background:#f6fafc;padding:12px 16px}
.tkx-saree-spec span{display:block;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#474d53;margin-bottom:4px}
.tkx-saree-spec strong{display:block;font-size:16px;font-weight:600;color:#2f2f2f;line-height:1.45}

/* v1.8.0 — main menu: highlight the parent item too (e.g. SHOP on a category page) */
html body .site-header .navbar-nav > .current-menu-item > a,
html body .site-header .navbar-nav > .current-menu-parent > a,
html body .site-header .navbar-nav > .current-menu-ancestor > a,
html body .site-header .navbar-nav > .current-product_cat-ancestor > a,
html body .navbar-nav > .menu-item.current-menu-item > a,
html body .navbar-nav > .menu-item.current-menu-parent > a,
html body .navbar-nav > .menu-item.current-menu-ancestor > a{color:#751b2a!important;font-weight:600}
html body .navbar-nav > .menu-item.current-menu-item > a::after,
html body .navbar-nav > .menu-item.current-menu-parent > a::after,
html body .navbar-nav > .menu-item.current-menu-ancestor > a::after{width:100%!important;transition:none}
html body .navbar-nav .sub-menu .menu-item.current-menu-item > a{color:#751b2a!important;font-weight:600}

/* v1.8.1 — main menu active colour: teal (distinct from the brown menu text) */
html body .site-header .navbar-nav > .menu-item.current-menu-item > a,
html body .site-header .navbar-nav > .menu-item.current-menu-parent > a,
html body .site-header .navbar-nav > .menu-item.current-menu-ancestor > a,
html body .navbar-nav > .menu-item.current-menu-item > a,
html body .navbar-nav > .menu-item.current-menu-parent > a,
html body .navbar-nav > .menu-item.current-menu-ancestor > a,
html body .navbar-nav .menu-item a.active,
html body .navbar-nav .sub-menu .menu-item.current-menu-item > a{color:#186078!important}
html body .navbar-nav > .menu-item.current-menu-item > a::after,
html body .navbar-nav > .menu-item.current-menu-parent > a::after,
html body .navbar-nav > .menu-item.current-menu-ancestor > a::after,
html body .navbar-nav .menu-item a.active::after{background:#186078!important;background-color:#186078!important}

/* v1.8.2 — header icons (search / account / cart): light hover, icon always visible */
html body .site-header .btn-icon{background:transparent!important;box-shadow:none!important;transform:none!important;border-radius:8px;transition:background-color .15s,color .15s}
html body .site-header .btn-icon:hover,html body .site-header .btn-icon:focus-visible,html body .site-header .btn-icon:active{background:#e8f0f7!important;color:#186078!important;box-shadow:none!important;transform:none!important}
html body .site-header .btn-icon:focus{outline:none}
html body .site-header .btn-icon:focus-visible{outline:2px solid #186078;outline-offset:2px}
html body .site-header .btn-icon svg{stroke:currentColor}

/* v1.8.3 — search-page pagination: same boxed buttons as the shop */
html body .ts-pagination ul.page-numbers{display:flex!important;flex-wrap:wrap;justify-content:center;gap:8px;list-style:none;margin:0!important;padding:0!important;border:0!important}
html body .ts-pagination ul.page-numbers::before,html body .ts-pagination ul.page-numbers::after{display:none!important;content:none!important}
html body .ts-pagination ul.page-numbers li{border:0!important;margin:0!important;padding:0!important;float:none!important;background:none!important;overflow:visible!important}
html body .ts-pagination .page-numbers li .page-numbers,html body .ts-pagination > a.page-numbers,html body .ts-pagination > span.page-numbers{display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;width:42px;height:42px;min-width:42px;padding:0!important;margin:0!important;border:1px solid #c9d6de!important;border-radius:8px!important;background:#fff!important;color:#2f2f2f!important;font-size:15px;font-weight:600;line-height:1!important;text-decoration:none;box-shadow:none!important;transform:none!important;transition:background-color .15s,border-color .15s,color .15s}
html body .ts-pagination a.page-numbers:hover,html body .ts-pagination a.page-numbers:focus-visible{border-color:#186078!important;color:#186078!important;background:#f2f7f9!important}
html body .ts-pagination span.page-numbers.current{background:#186078!important;border-color:#186078!important;color:#fff!important}
html body .ts-pagination .page-numbers.dots{border-color:transparent!important;background:none!important}

/* v1.8.4 — search page "Popular Searches" box */
html body .ts-search-sidebar .ts-sidebar-box{background:#fff!important;border:1px solid #d7e4ec!important;border-radius:14px!important;box-shadow:0 6px 20px rgba(24,96,120,.08)!important;overflow:hidden}
html body .ts-search-sidebar .ts-sidebar-head{background:transparent!important;color:#186078!important;font-size:12px!important;font-weight:700!important;letter-spacing:1.8px!important;padding:18px 20px 12px!important;border-bottom:1px solid #e3ecf2;gap:10px!important}
html body .ts-search-sidebar .ts-sidebar-head svg{stroke:#186078!important;width:16px!important;height:16px!important}
html body .ts-search-sidebar .ts-sidebar-body{padding:16px 20px 20px!important}
.tkx-pop-chips{display:flex;flex-wrap:wrap;gap:8px}
html body .tkx-pop-chip{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid #c9d6de;border-radius:999px;background:#fff;color:#2f2f2f!important;font-size:13px;font-weight:600;line-height:1.2;text-decoration:none!important;transition:background-color .15s,border-color .15s,color .15s}
html body .tkx-pop-chip:hover,html body .tkx-pop-chip:focus-visible{border-color:#186078;color:#186078!important;background:#f2f7f9}
html body .tkx-pop-chip.is-active{background:#186078;border-color:#186078;color:#fff!important}
.tkx-pop-chip:focus-visible{outline:2px solid #48180c;outline-offset:2px}
@media (max-width:900px){html body .ts-search-sidebar{position:static}}

/* v1.8.5 — product tabs: spec / shipping tables as a clean rounded box */
html body .ts-spec-table{width:100%;border-collapse:separate!important;border-spacing:0!important;border:1px solid #d7e4ec!important;border-radius:12px!important;overflow:hidden;background:#fff;margin:0}
html body .ts-spec-table tr{background:none!important}
html body .ts-spec-table td{border:0!important;border-bottom:1px solid #e3ecf2!important;padding:14px 18px!important;vertical-align:middle;background:#fff!important}
html body .ts-spec-table tr:last-child td{border-bottom:0!important}
html body .ts-spec-table td:first-child{width:40%;background:#f6fafc!important;border-right:1px solid #e3ecf2!important;color:#474d53!important;font-size:12px!important;font-weight:700!important;letter-spacing:1.1px;text-transform:uppercase}
html body .ts-spec-table td:last-child{color:#2f2f2f!important;font-size:15px!important;font-weight:600!important}
html body .ts-spec-table tr:hover td:last-child{background:#fbfdfe!important}
@media (max-width:600px){html body .ts-spec-table td{padding:12px 14px!important}html body .ts-spec-table td:first-child{width:44%;font-size:11px!important;letter-spacing:.8px}html body .ts-spec-table td:last-child{font-size:14px!important}}

/* v1.9.0 — audit fixes */
/* Sale prices: no underline */
html body .price ins,html body ins .woocommerce-Price-amount,html body .wc-block-components-product-price ins{text-decoration:none!important}
/* Tiny text */
html body .ts-category,html body .ts-category a,html body .ts-category span{font-size:11px!important}
html body .ts-prod-badge{font-size:11px!important;padding:4px 10px!important;border-radius:999px!important;background:#b3261e!important}
html body .ts-prod-badge.new{background:#48180c!important}
/* Mobile footer: "Wear beautiful" artwork at a sensible size */
@media (max-width:767px){html body .site-footer .footer-brandmark{max-width:220px!important;margin:6px auto 0!important;display:block}}
/* Mobile cart: one clean card per item (image | details + total), no split boxes */
@media (max-width:700px){
html body .wc-block-cart .wc-block-cart-items__row{display:grid!important;grid-template-columns:84px minmax(0,1fr)!important;column-gap:14px!important;row-gap:0!important;padding:16px 4px!important;align-items:start}
html body .wc-block-cart .wc-block-cart-items__row > td{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:0!important;width:auto!important;min-width:0!important}
html body .wc-block-cart .wc-block-cart-item__image{grid-row:1 / span 2}
html body .wc-block-cart .wc-block-cart-item__image img{width:84px!important;border-radius:8px}
html body .wc-block-cart .wc-block-cart-item__total{grid-column:2!important;text-align:left!important;margin-top:8px;font-weight:700}
html body .wc-block-cart .wc-block-cart-item__total .wc-block-components-sale-badge{margin-left:8px}
html body .wc-block-cart .wc-block-cart-items__row + .wc-block-cart-items__row{border-top:1px solid #e3ecf2!important}
}

/* v1.9.1 — mobile cart: total on its own row under the item details */
@media (max-width:700px){
html body .wc-block-cart .wc-block-cart-items__row .wc-block-cart-item__product{grid-column:2!important;grid-row:1!important}
html body .wc-block-cart .wc-block-cart-items__row .wc-block-cart-item__total{grid-column:2!important;grid-row:2!important;margin-top:10px!important}
html body .wc-block-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start!important;gap:10px;flex-wrap:wrap}
html body .wc-block-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper::before{content:"Item total";font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#474d53}
}

/* v1.9.2 — Elementor buttons keep the theme's ornate shape (brown -> green on hover).
   A matching colour sits only behind the text (content-box) so contrast checkers can read it,
   without a rectangle showing around the shape. */
html body .tk-content--elementor .elementor-widget-button .elementor-button{background-image:var(--td-btn-brown),none!important;background-clip:border-box,content-box!important;background-origin:border-box,content-box!important;background-color:#48180c!important;color:#fff!important}
html body .tk-content--elementor .elementor-widget-button .elementor-button:hover,html body .tk-content--elementor .elementor-widget-button .elementor-button:focus-visible{background-image:var(--td-btn-green),none!important;background-color:#2f5f39!important;color:#fff!important}

/* v1.9.3 — home "Uniquely Woven" green Shop Now: swap to the brown shape on hover (was only a faint brightness change) */
html body .elementor-element-cf29599 .elementor-button:hover,html body .elementor-element-cf29599 .elementor-button:focus-visible{background-image:var(--td-btn-brown)!important;filter:none!important;color:#fff!important}

/* v1.9.4 — WhatsApp enquiry button keeps the Add-to-cart look; WhatsApp glyph is a filled icon */
html body .ts-add-btn.tkx-wa-enquiry svg.tkx-wa-icon{fill:currentColor!important;stroke:none!important;width:18px;height:18px;flex:0 0 18px}
/* Buy Now is no longer rendered; guard against any cached copy */
html body .ts-buy-btn{display:none!important}

/* v1.9.7 — phones: quantity, Buy Now and wishlist in one row (as on tablet/desktop) */
@media (max-width:767px){
html body .ts-purchase-row{flex-wrap:nowrap!important;align-items:stretch}
html body .ts-purchase-row .ts-qty{flex:0 0 auto!important;width:auto!important}
html body .ts-purchase-row .ts-qty button{width:38px!important;min-width:38px!important;padding:0!important}
html body .ts-purchase-row .ts-qty input{width:40px!important;min-width:40px!important;padding:0!important;text-align:center}
html body .ts-purchase-row .ts-add-btn{flex:1 1 0%!important;order:0!important;width:auto!important;min-width:0!important;padding-left:12px!important;padding-right:12px!important;white-space:nowrap}
html body .ts-purchase-row .ts-wishlist-btn{flex:0 0 52px!important}
}
@media (max-width:339px){html body .ts-purchase-row{flex-wrap:wrap!important}html body .ts-purchase-row .ts-add-btn{flex:1 1 100%!important;order:3!important}}

/* v1.9.8 — product gallery thumbnails: half size, one-row slider with arrows */
.tkx-thumbs-slider{position:relative;margin-top:14px}
html body .tkx-thumbs-slider #tsThumbs{display:flex!important;flex-wrap:nowrap!important;gap:10px!important;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding:4px 2px!important;margin:0!important;cursor:grab}
.tkx-thumbs-slider #tsThumbs::-webkit-scrollbar{display:none}
.tkx-thumbs-slider.is-dragging #tsThumbs{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}
.tkx-thumbs-slider.is-dragging .ts-thumb{pointer-events:none}
html body .tkx-thumbs-slider #tsThumbs .ts-thumb{flex:0 0 80px!important;width:80px!important;height:80px!important;min-width:0!important;max-width:none!important;aspect-ratio:1/1;scroll-snap-align:center;margin:0!important}
html body .tkx-thumbs-slider #tsThumbs .ts-thumb img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-drag:none;user-select:none}
.tkx-thumbs-slider .tkx-thumb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:34px;height:34px;border-radius:50%;border:1px solid #c9d6de;background:#fff;color:#186078;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.14);transition:background-color .15s,border-color .15s}
.tkx-thumbs-slider .tkx-thumb-nav:hover,.tkx-thumbs-slider .tkx-thumb-nav:focus-visible{background:#f2f7f9;border-color:#186078;color:#186078}
.tkx-thumbs-slider .tkx-thumb-nav svg{width:16px;height:16px}
.tkx-thumbs-slider .tkx-thumb-prev{left:-8px}
.tkx-thumbs-slider .tkx-thumb-next{right:-8px}
.tkx-thumbs-slider .tkx-thumb-nav[hidden]{display:none}
@media (max-width:767px){html body .tkx-thumbs-slider #tsThumbs .ts-thumb{flex-basis:56px!important;width:56px!important;height:56px!important}.tkx-thumbs-slider .tkx-thumb-nav{width:30px;height:30px}.tkx-thumbs-slider .tkx-thumb-prev{left:-4px}.tkx-thumbs-slider .tkx-thumb-next{right:-4px}}

/* v2.0.0 — product page: main photo 20% shorter (3:4 -> 15:16); photo stays filled, top of the image kept */
html body .ts-gallery .ts-main-img{aspect-ratio:15/16!important}
/* thumbnails: hover outline/lift only on devices with a mouse (it stuck after a tap on phones) */
@media (hover:none){html body #tsThumbs .ts-thumb:not(.active):hover,html body #tsThumbs .ts-thumb:not(.active):active{border-color:transparent!important;transform:none!important}}

/* v2.0.1 — main product photo swaps instantly (the theme's 200 ms fade-out left it blank while the next photo loaded) */
html body .ts-main-img #tsMainImgEl{opacity:1!important}

/* v2.0.2 — header cart icon hidden for now (WhatsApp enquiry flow). To show it again, delete this rule. */
html body .site-header a.btn-icon.cart-icon[href*="cart"]{display:none!important}

/* v2.0.3 — empty collection: thread-spool icon above "No Sarees Here Yet" */
.tkx-empty-icon{display:flex;align-items:center;justify-content:center;width:88px;height:88px;margin:0 auto 18px;border-radius:50%;background:#e8f0f7;color:#186078;box-shadow:0 0 0 8px rgba(232,240,247,.45)}
.tkx-empty-icon svg{width:60px;height:60px}
@media (max-width:600px){.tkx-empty-icon{width:72px;height:72px}.tkx-empty-icon svg{width:50px;height:50px}}

/* v2.1.0 — product cards: white with a soft border; offer price on top (upright), original price below (struck out, italic) */
html body ul.products li.product,html body .woocommerce ul.products li.product,html body .ts-rel-card,html body .ts-prod-card{background:#fff!important;border:1px solid #e2e8ec!important;box-shadow:0 2px 10px rgba(24,96,120,.06)!important;transition:border-color .2s,box-shadow .2s,transform .3s}
html body ul.products li.product:hover,html body .ts-rel-card:hover,html body .ts-prod-card:hover{border-color:#c9d6de!important;box-shadow:0 10px 24px rgba(24,96,120,.12)!important}
html body .ts-rel-card .ts-rel-img,html body .ts-prod-card .ts-prod-img{background:#fff!important}
/* Shop / category / home cards */
html body ul.products li.product .price{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-style:normal!important}
html body ul.products li.product .price *{font-style:normal!important}
html body ul.products li.product .price ins{order:1;margin:0!important;font-weight:700}
html body ul.products li.product .price del{order:2;margin:0!important;font-size:.8em!important;font-weight:500;opacity:.75}
html body ul.products li.product .price del,html body ul.products li.product .price del *{font-style:italic!important}
/* "You May Also Love" cards */
html body .ts-rel-card .ts-rel-price{display:flex!important;flex-direction:column;align-items:center;gap:2px}
html body .ts-rel-card .ts-rel-price,html body .ts-rel-card .ts-rel-price *{font-style:normal!important}
html body .ts-rel-card .ts-rel-old{margin:0!important;font-size:.8em;opacity:.75}
html body .ts-rel-card .ts-rel-old,html body .ts-rel-card .ts-rel-old *{font-style:italic!important}
/* Search-result cards */
html body .ts-prod-card .ts-prod-price-row > div{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
html body .ts-prod-card .ts-prod-price,html body .ts-prod-card .ts-prod-price *{font-style:normal!important}
html body .ts-prod-card .ts-prod-price-old,html body .ts-prod-card .ts-prod-price-old *{font-style:italic!important}

/* v2.2.1 (specificity raised) v2.2.0 — product cards: left-aligned, compact (reference style). Title in normal-weight grey,
   max 2 lines; price left under it (offer price on top, struck price below in italic). */
html:root body ul.products li.product.product{text-align:left!important;padding-bottom:16px!important}
html:root body ul.products li.product.product .woocommerce-loop-product__title{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-align:left!important;justify-content:flex-start!important;align-items:flex-start!important;font-style:normal!important;font-weight:400!important;font-size:16px!important;line-height:1.4!important;color:#5f6b75!important;min-height:2.8em!important;padding:0 16px!important;margin:14px 0 6px!important;letter-spacing:0!important}
html:root body ul.products li.product.product .price{align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important;padding:0 16px!important;margin:0 0 14px!important;min-height:2.9em}
html:root body ul.products li.product.product .price ins .amount,html:root body ul.products li.product.product .price>.amount{font-size:18px!important;font-weight:700!important;color:#1d2b33!important}
html:root body ul.products li.product.product .price del .amount{font-size:14px!important;font-weight:400!important;color:#8a959d!important}
html:root body ul.products li.product.product a.button{align-self:flex-start!important;margin-left:16px!important;margin-right:16px!important}
@media (max-width:767px){
 html:root body ul.products li.product.product .woocommerce-loop-product__title{font-size:14px!important;padding:0 10px!important;margin:10px 0 4px!important}
 html:root body ul.products li.product.product .price{padding:0 10px!important;margin-bottom:10px!important}
 html:root body ul.products li.product.product .price ins .amount,html:root body ul.products li.product.product .price>.amount{font-size:16px!important}
 html:root body ul.products li.product.product .price del .amount{font-size:12.5px!important}
 html:root body ul.products li.product.product a.button{margin-left:10px!important;margin-right:10px!important}
}
/* "You May Also Love" + search cards follow the same alignment */
html body .ts-rel-card .ts-rel-name{text-align:left!important;font-weight:400!important;font-style:normal!important;color:#5f6b75!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.4;min-height:2.8em}
html body .ts-rel-card .ts-rel-price{align-items:flex-start!important;text-align:left!important}
html body .ts-rel-card .ts-rel-price>.amount,html body .ts-rel-card .ts-rel-price>span:first-child .amount{color:#1d2b33!important}
html body .ts-rel-card .ts-rel-btn{align-self:flex-start!important;margin-left:0!important;margin-right:0!important}
html body .ts-prod-card .ts-prod-name,html body .ts-prod-card h3,html body .ts-prod-card h2{text-align:left!important;font-style:normal!important;font-weight:400!important;color:#5f6b75!important}

/* v2.2.2 — "You May Also Love" cards: left-aligned like the shop cards */
html:root body .ts-rel-card .ts-rel-info{text-align:left!important;align-items:stretch!important;padding:14px 16px 16px!important}
html:root body .ts-rel-card .ts-rel-info .ts-rel-name{align-self:stretch!important;text-align:left!important;font-size:16px!important;margin:0 0 6px!important}
html:root body .ts-rel-card .ts-rel-info .ts-rel-price{align-self:stretch!important;align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important;margin:0 0 14px!important;min-height:2.9em}
html:root body .ts-rel-card .ts-rel-info .ts-rel-price>.amount{font-size:18px!important;font-weight:700!important;color:#1d2b33!important}
html:root body .ts-rel-card .ts-rel-info .ts-rel-old .amount{font-size:14px!important;font-weight:400!important;color:#8a959d!important}
html:root body .ts-rel-card .ts-rel-info .ts-rel-btn{align-self:flex-start!important;margin:auto 0 0!important}
@media (max-width:767px){html:root body .ts-rel-card .ts-rel-info{padding:10px 10px 12px!important}html:root body .ts-rel-card .ts-rel-info .ts-rel-name{font-size:14px!important}html:root body .ts-rel-card .ts-rel-info .ts-rel-price>.amount{font-size:16px!important}html:root body .ts-rel-card .ts-rel-info .ts-rel-old .amount{font-size:12.5px!important}}

/* v2.2.3 — price on one line (offer price, then struck price), tighter spacing */
html:root body ul.products li.product.product .price{flex-direction:row!important;flex-wrap:wrap!important;align-items:baseline!important;column-gap:8px!important;row-gap:0!important;min-height:0!important;margin:0 0 12px!important}
html:root body ul.products li.product.product .woocommerce-loop-product__title{margin:12px 0 4px!important}
html:root body .ts-rel-card .ts-rel-info .ts-rel-price{flex-direction:row!important;flex-wrap:wrap!important;align-items:baseline!important;column-gap:8px!important;row-gap:0!important;min-height:0!important;margin:0 0 12px!important}
html:root body .ts-rel-card .ts-rel-info .ts-rel-name{margin:0 0 4px!important}
@media (max-width:767px){
 html:root body ul.products li.product.product .price{column-gap:6px!important;margin-bottom:10px!important}
 html:root body ul.products li.product.product .woocommerce-loop-product__title{margin:10px 0 2px!important}
 html:root body .ts-rel-card .ts-rel-info .ts-rel-price{column-gap:6px!important;margin-bottom:10px!important}
}
html:root body ul.products li.product.product .woocommerce-loop-product__title,html:root body .ts-rel-card .ts-rel-info .ts-rel-name{min-height:0!important}
html:root body ul.products li.product.product a.button{margin-top:auto!important}
/* v2.2.5 — product name bold + higher contrast */
html:root body ul.products li.product.product .woocommerce-loop-product__title,html:root body .ts-rel-card .ts-rel-info .ts-rel-name,html:root body .ts-prod-card .ts-prod-name{font-weight:700!important;color:#2b3740!important}
/* v2.2.6 — price order: struck original price first, offer price after it */
html:root body ul.products li.product.product .price del{order:1!important}
html:root body ul.products li.product.product .price ins{order:2!important}
html:root body .ts-rel-card .ts-rel-info .ts-rel-old{order:1!important}
html:root body .ts-rel-card .ts-rel-info .ts-rel-price>.amount{order:2!important}
/* v2.2.7 — even gap between the two prices (hidden screen-reader labels were adding extra gaps) */
html:root body ul.products li.product.product .price{column-gap:0!important}
html:root body ul.products li.product.product .price del{margin:0 8px 0 0!important}
html:root body ul.products li.product.product .price .screen-reader-text{position:absolute!important}

/* v2.2.8 — Contact Us page layout fixes */
.elementor-420 .elementor-element.elementor-element-0f60f97{padding:72px 40px!important}
.elementor-420 .elementor-element.elementor-element-0f60f97>.e-con-inner,.elementor-420 .elementor-element.elementor-element-0f60f97{gap:40px!important}
.elementor-420 .elementor-element.elementor-element-cccc187{padding:0!important}
.elementor-420 .elementor-element.elementor-element-99132e0{background:#fff!important;border-radius:14px!important;box-shadow:0 4px 18px rgba(24,96,120,.08)!important;padding:8px 28px 28px!important;gap:20px!important;align-self:flex-start;overflow:hidden}
.elementor-420 .elementor-element.elementor-element-460a364,.elementor-420 .elementor-element.elementor-element-ede9226{margin:0!important}
.elementor-420 .elementor-element.elementor-element-ede9226 .elementor-custom-embed{line-height:0;border-radius:10px;overflow:hidden}
.elementor-420 .elementor-element.elementor-element-ede9226 iframe{display:block;width:100%!important;height:380px!important;max-height:none!important}
.elementor-420 .elementor-element.elementor-element-ede9226 .elementor-widget-container{height:auto!important;padding:0!important}
.elementor-420 .elementor-element-8a27f16 a[href^="tel:"]{color:inherit;text-decoration:none}
@media (max-width:767px){
 .elementor-420 .elementor-element.elementor-element-0f60f97{padding:48px 16px!important;gap:28px!important}
 .elementor-420 .elementor-element.elementor-element-99132e0{padding:4px 18px 18px!important;width:100%!important}
 .elementor-420 .elementor-element.elementor-element-ede9226 iframe{height:280px!important}
 .elementor-420 .elementor-element.elementor-element-3c957c2{padding:28px 16px!important}
 .elementor-420 .elementor-element.elementor-element-49a3416,.elementor-420 .elementor-element.elementor-element-5727c0c,.elementor-420 .elementor-element.elementor-element-6415876{padding:28px 24px!important}
}
/* v2.2.9 — store hours card: accent on the card edge, no double padding, times never wrap */
.elementor-420 .elementor-element.elementor-element-99132e0{border-top:3px solid #2a87a3!important;padding-top:4px!important}
.elementor-420 .elementor-element-460a364>div,.elementor-420 .elementor-element-460a364 .elementor-widget-container>div{padding:20px 4px 0!important;border-top:0!important}
.elementor-420 .elementor-element-460a364 td{padding:9px 0!important}
.elementor-420 .elementor-element-460a364 td+td{white-space:nowrap;padding-left:12px!important}
@media (max-width:767px){.elementor-420 .elementor-element-460a364 table{font-size:14.5px!important}}

/* v2.3.2 — contact form: "message sent" animation, then the empty form returns */
.ts-contact-form{position:relative}
.ts-contact-form .ts-form-success{display:none!important}
.tkx-sent{position:absolute;inset:-6px;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:rgba(232,240,247,.97);border-radius:10px;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.ts-contact-form.tkx-is-sent .tkx-sent{opacity:1;visibility:visible}
.ts-contact-form.tkx-sent-out .tkx-sent{opacity:0}
.tkx-sent-art{position:relative;width:96px;height:96px;margin-bottom:18px}
.tkx-plane{position:absolute;left:22px;top:22px;width:52px;height:52px;fill:none;stroke:#186078;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.tkx-check{position:absolute;inset:0;width:96px;height:96px;fill:none;stroke:#3c7848;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.tkx-check circle{stroke-dasharray:151;stroke-dashoffset:151}
.tkx-check path{stroke-dasharray:36;stroke-dashoffset:36}
.tkx-sent-title{margin:0 0 6px!important;font-size:24px;font-weight:700;color:#4c2414;opacity:0;transform:translateY(8px)}
.tkx-sent-text{margin:0!important;font-size:15px;color:#4a4a4a;opacity:0;transform:translateY(8px)}
.ts-contact-form.tkx-is-sent .tkx-plane{animation:tkxFly 1.1s cubic-bezier(.5,0,.75,0) forwards}
.ts-contact-form.tkx-is-sent .tkx-check circle{animation:tkxDraw .6s ease-out 1s forwards}
.ts-contact-form.tkx-is-sent .tkx-check path{animation:tkxDraw .4s ease-out 1.5s forwards}
.ts-contact-form.tkx-is-sent .tkx-sent-title{animation:tkxUp .4s ease-out 1.65s forwards}
.ts-contact-form.tkx-is-sent .tkx-sent-text{animation:tkxUp .4s ease-out 1.8s forwards}
@keyframes tkxFly{0%{opacity:1;transform:none}25%{opacity:1;transform:translate(-6px,6px) rotate(-8deg)}100%{opacity:0;transform:translate(150px,-130px) rotate(12deg) scale(.5)}}
@keyframes tkxDraw{to{stroke-dashoffset:0}}
@keyframes tkxUp{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ts-contact-form.tkx-is-sent .tkx-plane{animation:none}.ts-contact-form.tkx-is-sent .tkx-check circle,.ts-contact-form.tkx-is-sent .tkx-check path,.ts-contact-form.tkx-is-sent .tkx-sent-title,.ts-contact-form.tkx-is-sent .tkx-sent-text{animation-duration:.01s;animation-delay:0s}}