
:root {
	--tiwrt-accent: #d4d0b2;
	--tiwrt-accent-dark: #b8b394;
	--tiwrt-text: #1f1f1f;
	--tiwrt-muted: #6b6b6b;
	--tiwrt-border: #ececec;
	--tiwrt-bg: #ffffff;
	--tiwrt-bg-soft: #faf9f3;
	--tiwrt-radius: 10px;
	--tiwrt-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	--tiwrt-shadow-hover: 0 6px 22px rgba(0, 0, 0, 0.08);
	--tiwrt-font: 'Hepta Slab', Georgia, serif;
}

/* Scope to wishlist */
.tinv-wishlist,
.tinv-wishlist * {
	font-family: var(--tiwrt-font) !important;
	box-sizing: border-box;
}

.tinv-wishlist {
	color: var(--tiwrt-text);
	font-size: 15px;
	line-height: 1.5;
	font-weight: 500;
}

/* -------- Title -------- */
.tinv-wishlist h2,
.tinv-wishlist .tinvwl-title-form {
	font-weight: 500 !important;
	color: var(--tiwrt-accent-dark);
	letter-spacing: 0.3px;
	margin-bottom: 1.25rem;
}

/* -------- Hide the 3 footer action buttons -------- */
.tinv-wishlist button[name=\"tinvwl-update\"],
.tinv-wishlist button[name=\"tinvwl-action\"],
.tinv-wishlist .tinvwl-buttons-group,
.tinv-wishlist tfoot .product-action,
.tinv-wishlist tfoot tr:has(button[name=\"tinvwl-update\"]),
.tinv-wishlist tfoot tr:has(button[name=\"tinvwl-action\"]),
.tinv-wishlist .tinvwl_added_to_wishlist .tinvwl-buttons-group {
	display: none !important;
}

/* hide the entire tfoot row that holds those buttons (safe fallback) */
.tinv-wishlist table.tinvwl-table-manage-list tfoot {
	display: none !important;
}

/* -------- Table base (desktop) -------- */
.tinv-wishlist table.tinvwl-table-manage-list {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 12px;
	background: transparent;
	border: 0;
}

.tinv-wishlist table.tinvwl-table-manage-list thead th {
	background: var(--tiwrt-accent);
	color: #2b2b2b;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	font-size: 13px;
	padding: 14px 16px;
	border: 0;
	text-align: left;
}

.tinv-wishlist table.tinvwl-table-manage-list thead th:first-child {
	border-top-left-radius: var(--tiwrt-radius);
	border-bottom-left-radius: var(--tiwrt-radius);
}
.tinv-wishlist table.tinvwl-table-manage-list thead th:last-child {
	border-top-right-radius: var(--tiwrt-radius);
	border-bottom-right-radius: var(--tiwrt-radius);
}

.tinv-wishlist table.tinvwl-table-manage-list tbody tr {
	background: var(--tiwrt-bg);
	box-shadow: var(--tiwrt-shadow);
	border-radius: var(--tiwrt-radius);
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.tinv-wishlist table.tinvwl-table-manage-list tbody tr:hover {
	box-shadow: var(--tiwrt-shadow-hover);
	transform: translateY(-1px);
}

.tinv-wishlist table.tinvwl-table-manage-list tbody td {
	background: transparent;
	border: 0;
	padding: 18px 16px;
	vertical-align: middle;
	color: var(--tiwrt-text);
	font-weight: 500;
}

.tinv-wishlist table.tinvwl-table-manage-list tbody td:first-child {
	border-top-left-radius: var(--tiwrt-radius);
	border-bottom-left-radius: var(--tiwrt-radius);
}
.tinv-wishlist table.tinvwl-table-manage-list tbody td:last-child {
	border-top-right-radius: var(--tiwrt-radius);
	border-bottom-right-radius: var(--tiwrt-radius);
}

/* Thumb */
.tinv-wishlist .product-thumbnail { width: 90px; }
.tinv-wishlist .product-thumbnail img {
	width: 80px; height: 80px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid var(--tiwrt-border);
	background: var(--tiwrt-bg-soft);
	display: block;
}

/* Name */
.tinv-wishlist .product-name a {
	color: var(--tiwrt-text);
	font-weight: 500;
	font-size: 16px;
	text-decoration: none;
}
.tinv-wishlist .product-name a:hover { color: var(--tiwrt-accent-dark); }

/* Price */
.tinv-wishlist .product-price,
.tinv-wishlist .product-price .amount {
	color: var(--tiwrt-text);
	font-weight: 500;
	font-size: 15px;
}
.tinv-wishlist .product-price del { color: var(--tiwrt-muted); font-weight: 400; margin-right: 6px; }

/* Stock */
.tinv-wishlist .product-stock .stock {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 500;
}
.tinv-wishlist .product-stock .in-stock { background: #e8f5e9; color: #2e7d32; }
.tinv-wishlist .product-stock .out-of-stock { background: #fdecea; color: #c62828; }

/* Add to Cart button */
.tinv-wishlist .product-action .button,
.tinv-wishlist .product-action a.button,
.tinv-wishlist .product-action button.button,
.tinv-wishlist td.product-action .button {
	background: var(--tiwrt-accent) !important;
	color: #1f1f1f !important;
	border: 1px solid var(--tiwrt-accent) !important;
	border-radius: 999px !important;
	padding: 10px 22px !important;
	font-weight: 500 !important;
	font-size: 13px !important;
	letter-spacing: 0.6px !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
	transition: all 0.22s ease !important;
	font-family: var(--tiwrt-font) !important;
	cursor: pointer;
	white-space: nowrap;
	display: inline-block;
	text-decoration: none;
}
.tinv-wishlist .product-action .button:hover,
.tinv-wishlist .product-action a.button:hover,
.tinv-wishlist .product-action button.button:hover {
	background: var(--tiwrt-accent-dark) !important;
	border-color: var(--tiwrt-accent-dark) !important;
	transform: translateY(-1px);
}

/* Remove (×) */
.tinv-wishlist .product-remove button,
.tinv-wishlist .product-remove .button {
	background: transparent !important;
	border: 1px solid var(--tiwrt-border) !important;
	color: var(--tiwrt-muted) !important;
	border-radius: 50% !important;
	width: 34px; height: 34px;
	padding: 0 !important;
	line-height: 1 !important;
	display: inline-flex !important;
	align-items: center; justify-content: center;
	transition: all 0.2s ease !important;
	font-weight: 500 !important;
}
.tinv-wishlist .product-remove button:hover,
.tinv-wishlist .product-remove .button:hover {
	background: #fdecea !important;
	border-color: #f5b8b3 !important;
	color: #c62828 !important;
	transform: rotate(90deg);
}

/* Checkbox */
.tinv-wishlist .product-cb input[type=\"checkbox\"] {
	accent-color: var(--tiwrt-accent-dark);
	transform: scale(1.15);
}

/* Empty */
.tinv-wishlist .wishlist-empty {
	text-align: center;
	padding: 40px 20px;
	background: var(--tiwrt-bg-soft);
	border-radius: var(--tiwrt-radius);
	font-size: 16px;
	color: var(--tiwrt-muted);
	font-weight: 500;
}

/* Social */
.tinv-wishlist .social-buttons ul {
	display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none;
}
.tinv-wishlist .social-buttons li a {
	background: var(--tiwrt-bg-soft);
	color: var(--tiwrt-text);
	border-radius: 50%;
	width: 36px; height: 36px;
	display: inline-flex; align-items: center; justify-content: center;
	transition: all 0.2s ease;
}
.tinv-wishlist .social-buttons li a:hover {
	background: var(--tiwrt-accent);
	transform: translateY(-2px);
}

/* =========================================================
   RESPONSIVE — Horizontal mini-card (photo left, details right)
   ========================================================= */

@media (max-width: 782px) {

	/* Force table parts to behave like blocks */
	.tinv-wishlist table.tinvwl-table-manage-list,
	.tinv-wishlist table.tinvwl-table-manage-list > tbody,
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr,
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		text-align: left !important;
	}

	.tinv-wishlist table.tinvwl-table-manage-list > thead { display: none !important; }
	.tinv-wishlist table.tinvwl-table-manage-list > tfoot { display: none !important; }

	/* Row becomes a flex mini-card: image left, details right */
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 14px !important;
		padding: 14px !important;
		margin: 0 0 14px 0 !important;
		background: #fff !important;
		border-radius: 12px !important;
		box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important;
		position: relative !important;
		overflow: hidden;
	}

	/* Hide checkbox on mobile */
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-cb {
		display: none !important;
	}

	/* IMAGE — fixed width, left side, full row height */
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-thumbnail {
		display: flex !important;
		flex: 0 0 110px !important;
		width: 110px !important;
		max-width: 110px !important;
		padding: 0 !important;
		align-items: center;
		justify-content: center;
	}
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-thumbnail a,
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-thumbnail {
		width: 110px !important;
		max-width: 110px !important;
	}
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-thumbnail img {
		width: 110px !important;
		height: 110px !important;
		max-width: 110px !important;
		object-fit: cover !important;
		border-radius: 8px !important;
		display: block !important;
	}

	/* DETAILS — wrap name/price/stock/action into a flex column on the right.
	   We use a flex parent on TR with image first; remaining tds stack vertically using order + flex-basis. */

	/* Force right-side details TDs to share a flex column via wrapping */
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-name,
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-price,
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-stock,
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-action {
		flex: 1 1 100% !important;
		width: auto !important;
		max-width: calc(100% - 130px) !important;
		padding: 0 !important;
		margin-left: 130px !important; /* leave space for absolute image */
	}

	/* Switch to absolute image + block details for cleaner stacking */
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr {
		display: block !important;
		min-height: 130px !important;
		padding: 14px 14px 14px 140px !important;
	}
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-thumbnail {
		position: absolute !important;
		left: 14px !important;
		top: 14px !important;
		width: 110px !important;
		height: 110px !important;
		padding: 0 !important;
	}

	/* Each detail row is full-width block */
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-name,
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-price,
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-stock,
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-action {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 6px 0 !important;
		padding: 0 !important;
	}

	/* Name */
	.tinv-wishlist .product-name a {
		font-size: 15px !important;
		font-weight: 500 !important;
		line-height: 1.35 !important;
		display: block;
	}

	/* Price */
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-price {
		font-size: 15px !important;
		font-weight: 500 !important;
		color: var(--tiwrt-accent-dark) !important;
		margin-bottom: 8px !important;
	}

	/* Stock badge */
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-stock {
		margin-bottom: 8px !important;
	}

	/* Add to cart — full width pill button */
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-action {
		margin-top: 4px !important;
	}
	.tinv-wishlist .product-action .button,
	.tinv-wishlist .product-action a.button,
	.tinv-wishlist .product-action button.button {
		display: block !important;
		width: 100% !important;
		text-align: center !important;
		padding: 11px 16px !important;
		font-size: 13px !important;
	}

	/* Remove button — top-right corner of card */
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-remove {
		position: absolute !important;
		top: 10px !important;
		right: 10px !important;
		width: auto !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	/* Catch-all: hide any other tds (date added etc.) on mobile */
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td:not(.product-thumbnail):not(.product-name):not(.product-price):not(.product-stock):not(.product-remove):not(.product-action) {
		display: none !important;
	}

	/* Hide footer buttons (belt + suspenders) */
	.tinv-wishlist .tinvwl-buttons-group,
	.tinv-wishlist button[name=\"tinvwl-update\"],
	.tinv-wishlist button[name=\"tinvwl-action\"] {
		display: none !important;
	}

	/* Title sizing */
	.tinv-wishlist h2 { font-size: 22px !important; font-weight: 500 !important; }
}

/* Smaller phones */
@media (max-width: 380px) {
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr {
		padding: 12px 12px 12px 110px !important;
		min-height: 104px !important;
	}
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-thumbnail {
		left: 12px !important; top: 12px !important;
		width: 86px !important; height: 86px !important;
	}
	.tinv-wishlist table.tinvwl-table-manage-list > tbody > tr > td.product-thumbnail img {
		width: 86px !important; height: 86px !important;
	}
}
