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