/**
 * TTPixel Child Theme - Professional WooCommerce Shop & Single Product Styles
 *
 * Scope: Shop archive, filter sidebar, single product page, gallery, trust badges, tabs.
 * @package TTPixel_Child_Theme
 */

/* =============================================================================
   1. Shop Page Layout & Banner
   ============================================================================= */

.ttp-shop-page-wrapper,
.ttp-single-product-page-wrapper {
	padding-top: 32px;
	padding-bottom: 64px;
	background-color: #f8fafc;
	min-height: 80vh;
}

.ttp-shop-banner {
	margin-bottom: 28px;
	padding-bottom: 20px;
	border-bottom: 1px solid #e2e8f0;
}

.ttp-shop-banner__title {
	font-size: 2rem !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin-bottom: 6px !important;
}

.ttp-shop-banner__desc {
	color: #64748b;
	font-size: 15px;
	margin: 0;
}

/* Shop Top Control Bar */
.ttp-shop-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: #ffffff;
	padding: 14px 20px;
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
	margin-bottom: 28px;
}

.ttp-shop-topbar__left {
	display: flex;
	align-items: center;
	gap: 16px;
}

.ttp-mobile-filter-btn {
	display: none !important;
	gap: 8px;
	font-size: 14px !important;
	padding: 8px 16px !important;
}

.ttp-shop-result-count {
	color: #64748b;
	font-size: 14px;
	font-weight: 500;
}

.ttp-shop-topbar__right select.orderby {
	border: 1px solid #cbd5e1 !important;
	border-radius: 8px !important;
	padding: 8px 16px !important;
	font-size: 14px !important;
	color: #334155 !important;
	background-color: #ffffff !important;
	outline: none !important;
	cursor: pointer;
}

/* =============================================================================
   2. 2-Column Shop Layout Grid
   ============================================================================= */

.ttp-shop-layout {
	display: flex;
	gap: 32px;
	align-items: flex-start;
}

/* Sidebar Filters */
.ttp-shop-sidebar {
	width: 270px;
	flex-shrink: 0;
	position: sticky;
	top: 90px;
}

.ttp-shop-filters {
	background: #ffffff;
	border-radius: 14px;
	border: 1px solid #e2e8f0;
	padding: 24px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.ttp-filter-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid #f1f5f9;
}

.ttp-filter-header__title {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 !important;
}

.ttp-filter-reset-btn {
	font-size: 12px;
	font-weight: 600;
	color: #ef4444;
	text-decoration: none;
}

.ttp-filter-reset-btn:hover {
	text-decoration: underline;
}

.ttp-filter-widget {
	margin-bottom: 24px;
}

.ttp-filter-widget:last-child {
	margin-bottom: 0;
}

.ttp-filter-widget__title {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #1e293b !important;
	margin-bottom: 12px !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.ttp-filter-cat-list,
.ttp-filter-status-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ttp-filter-cat-list li,
.ttp-filter-status-list li {
	margin-bottom: 8px;
}

.ttp-filter-cat-list a,
.ttp-status-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #475569 !important;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none !important;
	padding: 6px 10px;
	border-radius: 6px;
	transition: all 0.15s ease;
}

.ttp-filter-cat-list li.is-active a,
.ttp-filter-cat-list a:hover,
.ttp-status-link.is-active,
.ttp-status-link:hover {
	background-color: #eff6ff;
	color: #2563eb !important;
	font-weight: 600;
}

.ttp-filter-count {
	font-size: 12px;
	color: #94a3b8;
}

.ttp-status-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #10b981;
	margin-right: 8px;
	display: inline-block;
}

.ttp-status-dot--sale {
	background-color: #ef4444;
}

/* Price Range Filter Widget (Dual Slider) */
.ttp-filter-widget--price {
	margin-bottom: 24px;
}

.ttp-price-range-boxes {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 20px;
}

.ttp-price-badge {
	flex: 1;
	background-color: #f3f4f6;
	border-radius: 10px;
	padding: 10px 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	font-size: 14px;
	font-weight: 700;
	color: #111827;
	border: 1px solid #e5e7eb;
}

.ttp-price-currency {
	color: #111827;
	font-weight: 600;
}

.ttp-price-dash {
	color: #9ca3af;
	font-size: 16px;
	font-weight: 500;
	user-select: none;
}

.ttp-dual-range-slider {
	position: relative;
	width: 100%;
	height: 24px;
	display: flex;
	align-items: center;
}

.ttp-range-track-bg {
	position: absolute;
	width: 100%;
	height: 5px;
	background-color: #e5e7eb;
	border-radius: 9999px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}

.ttp-range-track-fill {
	position: absolute;
	height: 5px;
	background-color: #059669;
	border-radius: 9999px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	left: 0%;
	right: 0%;
}

.ttp-range-input {
	position: absolute;
	width: 100%;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	z-index: 2;
	height: 24px;
}

/* Webkit Handles */
.ttp-range-input::-webkit-slider-thumb {
	pointer-events: auto;
	-webkit-appearance: none;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #ffffff;
	border: 3px solid #059669;
	cursor: pointer;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.12);
	transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.ttp-range-input::-webkit-slider-thumb:hover {
	transform: scale(1.1);
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.18);
}

/* Firefox Handles */
.ttp-range-input::-moz-range-thumb {
	pointer-events: auto;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #ffffff;
	border: 3px solid #059669;
	cursor: pointer;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.12);
	transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.ttp-range-input::-moz-range-thumb:hover {
	transform: scale(1.1);
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.18);
}

.ttp-range-input::-webkit-slider-runnable-track {
	background: transparent;
	border: none;
}

.ttp-range-input::-moz-range-track {
	background: transparent;
	border: none;
}

.ttp-range-input:focus {
	outline: none;
}

/* Shop main area */
.ttp-shop-main {
	flex: 1;
	min-width: 0;
}

/* Main Shop Products Grid — PC: 5 columns */
ul.products {
	display: grid !important;
	grid-template-columns: repeat(5, 1fr) !important;
	gap: 20px !important;
	list-style: none !important;
	margin: 0 0 40px 0 !important;
	padding: 0 !important;
	position: relative;
	transition: opacity 0.25s ease;
}

ul.products.is-loading {
	opacity: 0.45;
	pointer-events: none;
}

ul.products::before,
ul.products::after {
	display: none !important;
}

/* =============================================================================
   3. Custom Product Cards (content-product.php)
   ============================================================================= */

.ttp-product-card-item {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	float: none !important;
}

.ttp-product-card {
	background: #ffffff;
	border-radius: 2px !important;
	border: 1px solid #e2e8f0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: all 0.25s ease;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
	position: relative;
}

.ttp-product-card:hover {
	box-shadow: 0 8px 20px -4px rgba(0, 0, 0, 0.08);
	transform: translateY(-3px);
	border-color: #cbd5e1;
}

/* Card Image Container (With bottom border) */
.ttp-product-card__image-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: #f8fafc;
	border-bottom: 1px solid #e2e8f0;
}

.ttp-product-card__image-link {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}

.ttp-product-card__img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	transition: transform 0.4s ease, opacity 0.35s ease !important;
}

.ttp-product-card__img--secondary {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	pointer-events: none;
}

.ttp-product-card:hover .ttp-product-card__img--primary {
	opacity: 0.85;
}

.ttp-product-card:hover .ttp-product-card__img--secondary {
	opacity: 1;
	transform: scale(1.05);
}

/* Wishlist Button — Slide In Animation from Right on PC Hover */
.ttp-product-card__wishlist-btn {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 28px !important;
	height: 28px !important;
	padding: 2px !important;
	border-radius: 50%;
	background: #ffffff !important;
	color: #ef4444 !important;
	border: 1px solid #cbd5e1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15) !important;
	z-index: 10;
	cursor: pointer;
	transform: translateX(25px);
	opacity: 0;
	transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
	text-decoration: none !important;
	outline: none;
}

.ttp-product-card__wishlist-btn svg {
	width: 15px !important;
	height: 15px !important;
	display: block !important;
	fill: #ef4444 !important;
	stroke: none !important;
	transition: all 0.2s ease !important;
}

.ttp-product-card:hover .ttp-product-card__wishlist-btn {
	transform: translateX(0);
	opacity: 1;
}

.ttp-product-card__wishlist-btn.is-active,
.ttp-product-card__wishlist-btn:hover {
	background: #ef4444 !important;
	color: #ffffff !important;
	border-color: #ef4444 !important;
	box-shadow: 0 4px 14px rgba(239, 68, 68, 0.4) !important;
	opacity: 1;
}

.ttp-product-card__wishlist-btn.is-active svg,
.ttp-product-card__wishlist-btn:hover svg {
	stroke: none !important;
	fill: #ffffff !important;
}

@media (max-width: 991.98px) {
	.ttp-product-card__wishlist-btn {
		transform: translateX(0);
		opacity: 1;
	}
}

/* Stock Status Badges */
.ttp-product-card__stock-wrap {
	margin-bottom: 6px;
}

.ttp-card-stock {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 2px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.ttp-card-stock--in {
	background-color: #ecfdf5;
	color: #059669;
}

.ttp-card-stock--out {
	background-color: #fef2f2;
	color: #dc2626;
}

/* Card Info Body */
.ttp-product-card__info {
	padding: 14px;
	display: flex;
	flex-direction: column;
	flex: 1;
	overflow: hidden;
	/* master overflow guard for entire info section */
	min-width: 0;
	/* critical: allows flex children to shrink below content size */
}

/* Product Title wrapper — strict overflow guard */
.ttp-product-card__title {
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	margin: 0 0 8px 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
}

/* The actual clamp lives on the <a> tag where text renders directly */
.ttp-product-card__title a {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
	overflow: hidden !important;
	word-break: break-word !important;
	white-space: normal !important;
	color: #0f172a !important;
	text-decoration: none !important;
	transition: color 0.15s ease;
	width: 100%;
}

.ttp-product-card__title a:hover {
	color: #2563eb !important;
}

/* Price Row — pushed to bottom, gap comes between title and price */
.ttp-product-card__price {
	margin-top: auto;
	margin-bottom: 12px;
	overflow: hidden;
	/* prevent price from breaking out of card */
	max-width: 100%;
}

.ttp-product-card__price-row {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	flex-wrap: wrap !important;
	/* allow wrapping when price is long */
	overflow: hidden !important;
	max-width: 100% !important;
	word-break: break-word !important;
	font-size: 14px;
	font-weight: 700;
}

.ttp-product-card .ttp-price-sale,
.ttp-product-card__price-row .ttp-price-sale {
	color: #2563eb !important;
	font-weight: 800 !important;
	font-size: 1.15rem !important;
	word-break: break-word;
	max-width: 100%;
}

.ttp-product-card .ttp-price-regular,
.ttp-product-card__price del {
	font-size: 11px !important;
	color: #94a3b8 !important;
	text-decoration: line-through !important;
	font-weight: 500 !important;
	word-break: break-word;
	max-width: 100%;
}

.ttp-product-card .ttp-price-discount {
	background: #fee2e2 !important;
	color: #ef4444 !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	padding: 1px 5px !important;
	border-radius: 3px !important;
	flex-shrink: 0;
}

/* Card Actions (Plus Icon + Buy Now Button) — always single row, never stack */
.ttp-product-card__actions {
	display: flex !important;
	align-items: center !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	/* force single row — never stack vertically */
	gap: 6px !important;
	width: 100% !important;
	min-width: 0 !important;
	margin-top: auto;
	box-sizing: border-box !important;
	overflow: visible !important;
}

/* Plus button: fixed size, never shrink */
.ttp-product-card__actions .ttp-card-btn--plus {
	flex: 0 0 auto !important;
	flex-shrink: 0 !important;
}

/* Buy Now button: fills remaining space, allowed to shrink on small screens */
.ttp-product-card__actions .ttp-card-btn--buy-now {
	flex: 1 1 auto !important;
	flex-shrink: 1 !important;
	min-width: 0 !important;
	max-width: 100% !important;
}

.ttp-card-btn--plus {
	width: 36px !important;
	min-width: 36px !important;
	height: 36px !important;
	border-radius: 6px !important;
	background: #f8fafc !important;
	color: #475569 !important;
	border: 1px solid #cbd5e1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	cursor: pointer;
	transition: all 0.2s ease;
	flex: 0 0 36px !important;
	/* fixed size, never shrink, never grow */
	text-decoration: none !important;
	box-sizing: border-box !important;
}

.ttp-card-btn--plus svg {
	stroke: #475569 !important;
	color: #475569 !important;
	stroke-width: 2px !important;
}

.ttp-card-btn--plus:hover {
	background: #2563eb !important;
	color: #ffffff !important;
	border-color: #2563eb !important;
}

.ttp-card-btn--plus:hover svg {
	stroke: #ffffff !important;
	color: #ffffff !important;
}

.ttp-card-btn--buy-now {
	flex: 1 1 auto !important;
	/* grow to fill remaining space */
	min-width: 0 !important;
	/* critical: allow shrink on small mobile screens */
	height: 36px !important;
	border-radius: 6px !important;
	background: #2563eb !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	border: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: all 0.2s ease;
	padding: 0 6px !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	letter-spacing: 0 !important;
	box-sizing: border-box !important;
}

/* Related products section uses carousel — no grid override needed */

.ttp-card-btn--buy-now:hover {
	background: #1d4ed8 !important;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
	background: #1d4ed8;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.35);
}

/* Hide WooCommerce Added To Cart (View Cart) Button Completely */
a.added_to_cart,
.added_to_cart {
	display: none !important;
}

/* =============================================================================
   3B. Quick View Modal Layout & Gallery Slider
   ============================================================================= */

.ttp-quick-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: all 0.25s ease;
}

.ttp-quick-modal.is-active {
	opacity: 1;
	visibility: visible;
}

.ttp-quick-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.65);
	backdrop-filter: blur(4px);
}

.ttp-quick-modal__container {
	position: relative;
	width: 92%;
	max-width: 850px;
	max-height: 90vh;
	overflow-y: auto;
	background: #ffffff;
	border-radius: 12px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
	z-index: 2;
	padding: 24px;
}

.ttp-quick-modal__close {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	background: #ffffff !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 50% !important;
	width: 40px !important;
	height: 40px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	color: #0f172a !important;
	z-index: 9999 !important;
	transition: all 0.2s ease !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
	padding: 0 !important;
	line-height: 1 !important;
}

.ttp-quick-modal__close svg {
	stroke: #0f172a !important;
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	min-height: 22px !important;
	stroke-width: 2.5px !important;
	display: block !important;
}

.ttp-quick-modal__close:hover {
	background: #ef4444 !important;
	color: #ffffff !important;
	border-color: #ef4444 !important;
}

.ttp-quick-modal__close:hover svg {
	stroke: #ffffff !important;
}

/* Gallery Slider Box in Quick View */
.ttp-qv-media {
	width: 100%;
	max-width: 400px;
}

.ttp-qv-slider-box {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1 !important;
	max-height: none !important;
	border-radius: 10px;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e2e8f0;
}

.ttp-qv-slider-track {
	display: flex;
	width: 100%;
	height: 100%;
	transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.ttp-qv-slide {
	min-width: 100%;
	height: 100%;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #ffffff;
}

.ttp-qv-slide .ttp-gallery-main-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

/* Slider Arrows Controls */
.ttp-qv-slider-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px !important;
	height: 40px !important;
	border-radius: 50%;
	background: #ffffff !important;
	border: 1px solid #cbd5e1 !important;
	color: #0f172a !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer;
	z-index: 10;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15) !important;
	transition: all 0.2s ease !important;
	outline: none;
}

.ttp-qv-slider-arrow svg {
	width: 22px !important;
	height: 22px !important;
	stroke: #0f172a !important;
	fill: none !important;
	display: block !important;
	stroke-width: 2.5px;
	transition: stroke 0.2s ease !important;
}

.ttp-qv-slider-arrow--prev {
	left: 8px;
}

.ttp-qv-slider-arrow--next {
	right: 8px;
}

.ttp-qv-slider-arrow:hover {
	background: #2563eb !important;
	color: #ffffff !important;
	border-color: #2563eb !important;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35) !important;
}

.ttp-qv-slider-arrow:hover svg {
	stroke: #ffffff !important;
}

/* Thumbnails Track */
.ttp-single-product-gallery__thumbs {
	display: flex;
	gap: 8px;
	margin-top: 10px;
	overflow-x: auto;
	padding-bottom: 4px;
	scrollbar-width: thin;
}

.ttp-gallery-thumb {
	width: 52px;
	height: 52px;
	min-width: 52px;
	aspect-ratio: 1 / 1;
	border-radius: 6px;
	border: 2px solid #e2e8f0;
	overflow: hidden;
	padding: 0;
	background: #ffffff;
	cursor: pointer;
	transition: all 0.2s ease;
	outline: none;
}

.ttp-gallery-thumb.is-active,
.ttp-gallery-thumb:hover {
	border-color: #2563eb;
	box-shadow: 0 0 0 1px #2563eb;
}

.ttp-gallery-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* =============================================================================
   3C. Variation Swatches Engine & Stacked Variations Table Styles
   ============================================================================= */

table.variations,
table.variations tbody,
table.variations tr,
table.variations th,
table.variations td {
	display: block !important;
	width: 100% !important;
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

table.variations tr {
	margin-bottom: 14px !important;
}

table.variations th.label,
table.variations label {
	display: block !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: #1e293b !important;
	margin-bottom: 6px !important;
	text-align: left !important;
	text-transform: capitalize;
}

table.variations td.value {
	display: block !important;
	width: 100% !important;
}

a.reset_variations {
	display: inline-block !important;
	margin-top: 6px !important;
	font-size: 12px !important;
	color: #ef4444 !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: opacity 0.2s ease;
}

a.reset_variations:hover {
	opacity: 0.8;
	text-decoration: underline !important;
}

.ttp-swatches-wrapper {
	margin-bottom: 14px;
}

.ttp-swatches-items {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 6px;
}

/* Text / Box Swatch Style */
.ttp-swatch--text {
	position: relative;
	min-width: 44px;
	height: 36px;
	padding: 0 14px;
	border-radius: 6px;
	background: #ffffff;
	border: 1.5px solid #cbd5e1;
	color: #1e293b;
	font-size: 13px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	outline: none;
	transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.ttp-swatch--text:hover {
	border-color: #2563eb;
	color: #2563eb;
	transform: translateY(-1px);
}

.ttp-swatch--text.is-selected {
	background: #eff6ff !important;
	color: #2563eb !important;
	border-color: #2563eb !important;
	box-shadow: 0 0 0 1.5px #2563eb !important;
}

/* Color / Circle Swatch Style (50% radius) */
.ttp-swatch--color {
	position: relative;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: var(--swatch-color, #2563eb);
	border: 2px solid #ffffff;
	outline: 1.5px solid #cbd5e1;
	outline-offset: 1px;
	cursor: pointer;
	padding: 0;
	margin: 0;
	transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), outline-color 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.12);
}

.ttp-swatch--color .ttp-swatch-inner {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
}

.ttp-swatch--color:hover {
	transform: scale(1.12);
	outline-color: #2563eb;
}

.ttp-swatch--color.is-selected {
	transform: scale(1.1);
	outline-color: #2563eb !important;
	outline-width: 2.5px;
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.3) !important;
}

/* Image Swatch Style (1:1 Box with 5px radius) */
.ttp-swatch--image {
	position: relative;
	width: 40px;
	height: 40px;
	aspect-ratio: 1 / 1;
	border-radius: 5px;
	border: 1.5px solid #cbd5e1;
	overflow: hidden;
	padding: 2px;
	background: #ffffff;
	cursor: pointer;
	outline: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
}

.ttp-swatch--image .ttp-swatch-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 3px;
	display: block;
}

.ttp-swatch--image:hover {
	border-color: #2563eb;
	transform: scale(1.06);
}

.ttp-swatch--image.is-selected {
	border-color: #2563eb !important;
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.3) !important;
	transform: scale(1.05);
}

/* Disabled Swatch State */
.ttp-swatch.is-disabled {
	opacity: 0.4;
	cursor: not-allowed;
	pointer-events: none;
	text-decoration: line-through;
}

/* Quick View Wrapper & Grid */
.ttp-quick-view-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	align-items: flex-start;
}

.ttp-qv-title {
	font-size: 1.4rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 0 10px 0 !important;
}

.ttp-qv-stock-rating {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 12px;
}

.ttp-qv-price {
	font-size: 1.65rem;
	font-weight: 800;
	color: #2563eb;
	margin-bottom: 14px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.ttp-qv-price del,
.ttp-price-regular {
	color: #94a3b8 !important;
	font-weight: 500 !important;
	font-size: 0.85rem !important;
	margin-left: 8px !important;
	text-decoration: line-through !important;
}

.ttp-qv-price ins,
.ttp-price-sale {
	color: #2563eb !important;
	text-decoration: none !important;
	font-weight: 800 !important;
	font-size: 1.65rem !important;
}

.ttp-price-discount {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	color: #ef4444;
	background: #fee2e2;
	padding: 2px 7px;
	border-radius: 4px;
	margin-left: 8px;
	vertical-align: middle;
}

.ttp-qv-description {
	font-size: 14px;
	color: #475569;
	line-height: 1.5;
	margin-bottom: 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid #f1f5f9;
}

/* Quick View Form & Quantity & Add to Cart & Buy Now Layout */
.ttp-qv-add-to-cart form.cart {
	display: block !important;
	width: 100% !important;
}

.ttp-qv-add-to-cart .single_variation_wrap {
	display: block !important;
	width: 100% !important;
}

.ttp-qv-add-to-cart .woocommerce-variation-add-to-cart,
.ttp-qv-add-to-cart form.cart:not(.variations_form) {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 12px !important;
	align-items: center !important;
	width: 100% !important;
	margin-top: 12px !important;
}

/* Quantity Selector: [-] 1 [+] */
.ttp-quantity-wrap,
.ttp-qv-add-to-cart .quantity {
	display: inline-flex !important;
	align-items: center !important;
	border: 1.5px solid #cbd5e1;
	border-radius: 8px;
	overflow: hidden;
	height: 44px;
	background: #ffffff;
	margin: 0 !important;
	flex-shrink: 0 !important;
}

.ttp-qty-btn {
	width: 36px;
	height: 100%;
	background: #f8fafc;
	border: none;
	font-size: 16px;
	font-weight: 700;
	color: #334155;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease;
	outline: none;
	user-select: none;
}

.ttp-qty-btn:hover {
	background: #e2e8f0;
	color: #0f172a;
}

.quantity input.qty {
	width: 44px;
	height: 100%;
	border: none !important;
	border-left: 1px solid #e2e8f0 !important;
	border-right: 1px solid #e2e8f0 !important;
	text-align: center;
	font-weight: 700;
	font-size: 15px;
	color: #0f172a;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent;
	-moz-appearance: textfield;
}

.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Add to Cart Button (Row 1 Right - Expands to Right Edge) */
.single_add_to_cart_button,
.ttp-qv-add-to-cart .button {
	flex: 1 1 0% !important;
	min-width: 140px !important;
	width: auto !important;
	height: 44px !important;
	margin: 0 !important;
	background: #2563eb !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	border-radius: 8px !important;
	border: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer;
	font-size: 14px;
	transition: all 0.2s ease !important;
	box-shadow: 0 2px 6px rgba(37, 99, 235, 0.25) !important;
}

.single_add_to_cart_button:hover,
.ttp-qv-add-to-cart .button:hover {
	background: #1d4ed8 !important;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.35) !important;
}

/* Buy Now Row (Row 2 Full Width) */
.ttp-qv-buy-now-wrap {
	width: 100%;
	margin-top: 10px;
	flex-basis: 100%;
}

.ttp-qv-buy-now-btn {
	width: 100%;
	height: 44px;
	background: #16a34a !important;
	color: #ffffff !important;
	border-radius: 8px !important;
	border: none !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: all 0.2s ease !important;
	box-shadow: 0 2px 6px rgba(22, 163, 74, 0.25) !important;
}

.ttp-qv-buy-now-btn:hover {
	background: #15803d !important;
	box-shadow: 0 4px 12px rgba(22, 163, 74, 0.35) !important;
}

@media (max-width: 767px) {
	.ttp-quick-view-wrapper {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.ttp-qv-media {
		max-width: 100%;
	}
}

/* =============================================================================
   4. Single Product Page Styling
   ============================================================================= */

/* Breadcrumb */
.ttp-single-product__breadcrumb {
	margin-bottom: 24px;
}

.woocommerce-breadcrumb {
	font-size: 13px !important;
	color: #64748b !important;
	margin: 0 !important;
}

.woocommerce-breadcrumb a {
	color: #475569 !important;
	text-decoration: none !important;
}

.woocommerce-breadcrumb a:hover {
	color: #2563eb !important;
}

/* 2-Column Product Grid (50% Gallery / 50% Summary) */
.ttp-single-product__grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 36px !important;
	align-items: flex-start !important;
	background: #ffffff !important;
	border-radius: 20px !important;
	border: 1px solid #e2e8f0 !important;
	padding: 32px !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
	margin-bottom: 48px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.ttp-single-product__gallery-col {
	width: 100% !important;
	max-width: 100% !important;
}

/* Summary Column Full Width Fix */
.ttp-single-product__summary-col,
.woocommerce div.product div.summary,
.entry-summary {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

/* Gallery Main Box & Outer Frame (Padding 0, Overflow Hidden) */
.ttp-single-product-gallery__main,
.ttp-qv-slider-box {
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	max-height: none !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	background-color: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

.ttp-qv-slider-track {
	display: flex !important;
	width: 100% !important;
	height: 100% !important;
	transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

/* Individual Slide (100% Frame Width + 20px Inner Padding) */
.ttp-qv-slide {
	min-width: 100% !important;
	width: 100% !important;
	height: 100% !important;
	flex-shrink: 0 !important;
	aspect-ratio: 1 / 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
	padding: 20px !important;
	box-sizing: border-box !important;
}

.ttp-gallery-main-img,
.ttp-qv-slide img {
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: contain !important;
	object-position: center !important;
	display: block !important;
	cursor: zoom-in !important;
}

/* Gallery Thumbnails (Exactly 5 Visible + Scroll/Slider System) */
.ttp-single-product-gallery__thumbs {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin-top: 14px !important;
	width: 100% !important;
	max-width: 100% !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	white-space: nowrap !important;
	padding: 4px 2px 8px 2px !important;
	scroll-behavior: smooth !important;
	-webkit-overflow-scrolling: touch !important;
	scrollbar-width: thin !important;
	scrollbar-color: #cbd5e1 transparent !important;
}

.ttp-single-product-gallery__thumbs::-webkit-scrollbar {
	height: 5px;
}

.ttp-single-product-gallery__thumbs::-webkit-scrollbar-track {
	background: #f1f5f9;
	border-radius: 9999px;
}

.ttp-single-product-gallery__thumbs::-webkit-scrollbar-thumb {
	background: #cbd5e1;
	border-radius: 9999px;
}

.ttp-single-product-gallery__thumbs::-webkit-scrollbar-thumb:hover {
	background: #94a3b8;
}

.ttp-gallery-thumb {
	width: calc((100% - 40px) / 5) !important;
	min-width: calc((100% - 40px) / 5) !important;
	max-width: calc((100% - 40px) / 5) !important;
	flex: 0 0 calc((100% - 40px) / 5) !important;
	aspect-ratio: 1 / 1 !important;
	border-radius: 10px !important;
	border: 2px solid #e2e8f0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	background: #ffffff !important;
	cursor: pointer !important;
	transition: all 0.15s ease !important;
	box-sizing: border-box !important;
}

.ttp-gallery-thumb.is-active,
.ttp-gallery-thumb:hover {
	border-color: #2563eb !important;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2) !important;
}

.ttp-gallery-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

/* Lightbox Modal CSS */
.ttp-lightbox-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
}

.ttp-lightbox-modal.is-active {
	opacity: 1;
	pointer-events: auto;
}

.ttp-lightbox-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.88);
	backdrop-filter: blur(6px);
}

.ttp-lightbox-container {
	position: relative;
	z-index: 2;
	width: 90vw;
	height: 90vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ttp-lightbox-img-wrap {
	max-width: 85vw;
	max-height: 85vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ttp-lightbox-img {
	max-width: 85vw;
	max-height: 85vh;
	object-fit: contain;
	border-radius: 12px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

.ttp-lightbox-close {
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 10;
	background: rgba(255, 255, 255, 0.2);
	color: #ffffff;
	border: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.2s ease;
}

.ttp-lightbox-close:hover {
	background: rgba(255, 255, 255, 0.35);
}

.ttp-lightbox-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	background: rgba(255, 255, 255, 0.2);
	color: #ffffff;
	border: none;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.2s ease;
}

.ttp-lightbox-arrow:hover {
	background: rgba(255, 255, 255, 0.35);
}

.ttp-lightbox-arrow--prev {
	left: 20px;
}

.ttp-lightbox-arrow--next {
	right: 20px;
}

/* Summary Column Elements */
.ttp-single-product__cat-link {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	color: #2563eb;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 8px;
	text-decoration: none !important;
}

.ttp-single-product__title {
	font-size: 2.2rem !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	line-height: 1.25 !important;
	margin: 0 0 16px 0 !important;
	width: 100% !important;
}

.ttp-single-product__rating-stock {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 20px;
	width: 100%;
}

.ttp-stock-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 600;
	padding: 4px 12px;
	border-radius: 20px;
}

.ttp-stock-badge--in {
	background: #ecfdf5;
	color: #047857;
}

.ttp-stock-badge--out {
	background: #fef2f2;
	color: #b91c1c;
}

.ttp-stock-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: currentColor;
}

.ttp-single-product__price p.price,
.ttp-single-product__price {
	font-size: 2.25rem !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin-bottom: 20px !important;
	display: flex;
	align-items: baseline;
	gap: 12px;
	flex-wrap: wrap;
	width: 100% !important;
}

.ttp-single-product__price del {
	font-size: 1.4rem !important;
	color: #94a3b8 !important;
	font-weight: 500 !important;
	margin-right: 4px !important;
}

.ttp-single-product__price ins {
	text-decoration: none !important;
	color: #16a34a !important;
}

.ttp-single-product__excerpt {
	font-size: 15px;
	color: #475569;
	line-height: 1.7;
	margin-bottom: 24px;
	padding-bottom: 24px;
	border-bottom: 1px solid #f1f5f9;
	width: 100% !important;
}

/* Variable Attributes Table & Form */
.ttp-single-product__summary-col form.cart.variations_form {
	display: block !important;
	width: 100% !important;
	margin-bottom: 24px !important;
}

.ttp-single-product__summary-col table.variations {
	width: 100% !important;
	border: none !important;
	margin-bottom: 16px !important;
	border-collapse: collapse !important;
}

.ttp-single-product__summary-col table.variations tbody,
.ttp-single-product__summary-col table.variations tr {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
	width: 100% !important;
}

.ttp-single-product__summary-col table.variations th.label {
	display: block !important;
	text-align: left !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #1e293b !important;
	padding: 0 !important;
	margin-bottom: 4px !important;
}

.ttp-single-product__summary-col table.variations td.value {
	display: block !important;
	padding: 0 !important;
	width: 100% !important;
}

.ttp-single-product__summary-col table.variations select {
	width: 100% !important;
	height: 46px !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 10px !important;
	padding: 0 14px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #0f172a !important;
	background-color: #f8fafc !important;
	outline: none !important;
	cursor: pointer !important;
	transition: all 0.15s ease !important;
}

.ttp-single-product__summary-col table.variations select:focus {
	border-color: #2563eb !important;
	background-color: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
}

.ttp-single-product__summary-col a.reset_variations {
	display: inline-block !important;
	margin-top: 6px !important;
	font-size: 12px !important;
	color: #ef4444 !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.ttp-single-product__summary-col a.reset_variations:hover {
	text-decoration: underline !important;
}

/* Hide duplicate variation price display below clear selection button */
.single_variation .woocommerce-variation-price,
.woocommerce-variation .woocommerce-variation-price,
.variations_form .single_variation .price {
	display: none !important;
}

/* Single Product Dynamic Price Row Styling */
.ttp-single-product__price .ttp-product-card__price-row {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
}

.ttp-single-product__price .ttp-price-sale,
.ttp-single-product__price .ttp-price-regular-only {
	font-size: 2rem !important;
	font-weight: 800 !important;
	color: #2563eb !important;
}

.ttp-single-product__price .ttp-price-regular,
.ttp-single-product__price del {
	font-size: 1.25rem !important;
	color: #94a3b8 !important;
	font-weight: 500 !important;
	text-decoration: line-through !important;
}

/* Product Cards Discount Percentage Badge (-50%) */
.ttp-price-discount {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #ef4444 !important;
	background: #fee2e2 !important;
	padding: 3px 8px !important;
	border-radius: 6px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-left: 6px !important;
}

/* Single Product Main Summary & Quick View Modal "You Save TK. XXX (YY%)" Badge Styling */
.ttp-single-product__price .ttp-save-badge,
.ttp-qv-price .ttp-save-badge,
.ttp-save-badge {
	font-size: 14.5px !important;
	font-weight: 600 !important;
	color: #059669 !important;
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0 !important;
	margin-left: 8px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 2px !important;
}

.ttp-save-badge .woocommerce-Price-amount,
.ttp-save-badge bdi {
	color: #059669 !important;
	font-weight: 700 !important;
}

/* Permanently Hide WooCommerce "Clear" (reset variations) button & Add to Cart Notices */
.reset_variations,
a.reset_variations,
.single_variation .woocommerce-variation-price,
.woocommerce-variation-price,
.woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-info {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	height: 0 !important;
	width: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Add to Cart & Action Buttons Section — 2-row layout */
.ttp-single-product__atc-area {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	margin-bottom: 28px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Row 1: Quantity + Add to Cart + Buy Now */
.ttp-single-product__atc-row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
}

.ttp-single-product__atc-row form.cart:not(.variations_form),
.ttp-single-product__atc-row .woocommerce-variation-add-to-cart {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 10px !important;
	align-items: center !important;
	margin: 0 !important;
	width: 100% !important;
}

/* Row 2: Share + Wishlist */
.ttp-single-product__social-row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
}

/* Legacy selector support for Quick View modal */
.ttp-single-product__summary-col .woocommerce-variation-add-to-cart,
.ttp-qv-add-to-cart .woocommerce-variation-add-to-cart,
.ttp-qv-add-to-cart form.cart:not(.variations_form) {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 10px !important;
	align-items: center !important;
	margin: 0 !important;
	flex: 1 1 auto !important;
}

/* Quantity Box & Stepper (Fixed 120px Width to Prevent Layout Shift) */
.ttp-single-product__summary-col .quantity,
.ttp-single-product__atc-area .quantity,
.ttp-qv-add-to-cart .quantity,
.quantity {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	height: 48px !important;
	width: 120px !important;
	min-width: 120px !important;
	max-width: 120px !important;
	background: #ffffff !important;
	margin: 0 !important;
	flex-shrink: 0 !important;
	box-sizing: border-box !important;
}

.ttp-single-product__summary-col .quantity input.qty,
.ttp-single-product__atc-area .quantity input.qty,
.ttp-qv-add-to-cart .quantity input.qty,
.quantity input.qty {
	width: 48px !important;
	min-width: 48px !important;
	height: 100% !important;
	border: none !important;
	border-left: 1px solid #e2e8f0 !important;
	border-right: 1px solid #e2e8f0 !important;
	text-align: center !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	color: #0f172a !important;
	margin: 0 auto !important;
	padding: 0 !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

.ttp-qty-btn {
	width: 36px !important;
	min-width: 36px !important;
	height: 100% !important;
	border: none !important;
	background: #f8fafc !important;
	color: #334155 !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	user-select: none !important;
	transition: background 0.15s ease !important;
	padding: 0 !important;
}

.ttp-qty-btn:hover {
	background: #e2e8f0 !important;
	color: #0f172a !important;
}

/* Add to Cart & Buy Now Buttons (Exact Equal Width Row) */
.ttp-single-product__summary-col button.single_add_to_cart_button,
.ttp-single-product__atc-area button.single_add_to_cart_button,
.ttp-qv-add-to-cart button.single_add_to_cart_button,
.ttp-btn--buy-now {
	flex: 1 1 0% !important;
	min-width: 0 !important;
	height: 48px !important;
	padding: 0 16px !important;
	margin: 0 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	border-radius: 8px !important;
	border: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
}

.ttp-single-product__summary-col button.single_add_to_cart_button,
.ttp-single-product__atc-area button.single_add_to_cart_button,
.ttp-qv-add-to-cart button.single_add_to_cart_button {
	background-color: #2563eb !important;
	color: #ffffff !important;
	box-shadow: 0 2px 6px rgba(37, 99, 235, 0.25) !important;
}

.ttp-single-product__summary-col button.single_add_to_cart_button:hover,
.ttp-single-product__atc-area button.single_add_to_cart_button:hover,
.ttp-qv-add-to-cart button.single_add_to_cart_button:hover {
	background-color: #1d4ed8 !important;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.35) !important;
}

.ttp-btn--buy-now {
	background-color: #16a34a !important;
	color: #ffffff !important;
	box-shadow: 0 2px 6px rgba(22, 163, 74, 0.25) !important;
}

.ttp-btn--buy-now:hover {
	background-color: #15803d !important;
	box-shadow: 0 4px 12px rgba(22, 163, 74, 0.35) !important;
}

.ttp-single-wishlist-btn,
.ttp-single-share-btn {
	height: 44px !important;
	font-size: 14px !important;
	padding: 0 20px !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	border-radius: 8px !important;
	border: 1.5px solid #cbd5e1 !important;
	background: #ffffff !important;
	color: #475569 !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.ttp-single-wishlist-btn.is-active {
	background-color: #fef2f2 !important;
	color: #ef4444 !important;
	border-color: #fca5a5 !important;
}

.ttp-single-wishlist-btn.is-active svg {
	fill: #ef4444 !important;
	stroke: #ef4444 !important;
}


/* Product Meta */
.ttp-single-product__meta {
	font-size: 13px;
	color: #64748b;
	padding-top: 16px;
	border-top: 1px solid #f1f5f9;
	margin-bottom: 24px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ttp-single-product__meta a {
	color: #2563eb;
	text-decoration: none;
}

/* Trust Badges */
.ttp-single-trust-badges {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	background: #f8fafc;
	padding: 16px;
	border-radius: 12px;
	border: 1px solid #e2e8f0;
}

.ttp-trust-badge {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ttp-trust-badge svg {
	color: #2563eb;
	flex-shrink: 0;
}

.ttp-trust-badge__text {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}

.ttp-trust-badge__text strong {
	font-size: 12px;
	color: #0f172a;
}

.ttp-trust-badge__text span {
	font-size: 10px;
	color: #64748b;
}

/* Tabs Section */
.ttp-single-product__tabs-section {
	background: #ffffff;
	border-radius: 20px;
	border: 1px solid #e2e8f0;
	padding: 36px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
	margin-bottom: 48px;
}

.woocommerce-tabs ul.tabs {
	display: flex !important;
	gap: 24px !important;
	border-bottom: 1px solid #e2e8f0 !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 28px 0 !important;
}

.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs::after {
	display: none !important;
}

.woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.woocommerce-tabs ul.tabs li a {
	display: block !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	color: #64748b !important;
	padding: 0 0 12px 0 !important;
	text-decoration: none !important;
	border-bottom: 2px solid transparent !important;
	transition: all 0.15s ease !important;
}

.woocommerce-tabs ul.tabs li.active a {
	color: #2563eb !important;
	border-bottom-color: #2563eb !important;
}

/* Product Description Panel Heading & Content Typography */
.woocommerce-Tabs-panel,
.woocommerce-Tabs-panel--description,
.woocommerce-tabs .panel,
#tab-description,
.ttp-single-product__excerpt,
.woocommerce-product-details__short-description {
	color: #334155;
	line-height: 1.6;
}

.woocommerce-Tabs-panel>h2:first-child,
.woocommerce-tabs .panel>h2:first-child,
#tab-description>h2:first-child {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin-top: 0 !important;
	margin-bottom: 16px !important;
}

.woocommerce-Tabs-panel h1,
.woocommerce-tabs .panel h1,
#tab-description h1,
.ttp-single-product__excerpt h1,
.woocommerce-product-details__short-description h1 {
	font-size: 1.35rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin-top: 1.2em !important;
	margin-bottom: 0.5em !important;
	line-height: 1.3 !important;
}

.woocommerce-Tabs-panel h2,
.woocommerce-tabs .panel h2,
#tab-description h2,
.ttp-single-product__excerpt h2,
.woocommerce-product-details__short-description h2 {
	font-size: 1.2rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin-top: 1.15em !important;
	margin-bottom: 0.5em !important;
	line-height: 1.35 !important;
}

.woocommerce-Tabs-panel h3,
.woocommerce-tabs .panel h3,
#tab-description h3,
.ttp-single-product__excerpt h3,
.woocommerce-product-details__short-description h3 {
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin-top: 1.1em !important;
	margin-bottom: 0.4em !important;
	line-height: 1.35 !important;
}

.woocommerce-Tabs-panel h4,
.woocommerce-tabs .panel h4,
#tab-description h4,
.ttp-single-product__excerpt h4,
.woocommerce-product-details__short-description h4 {
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: #0f172a !important;
	margin-top: 1em !important;
	margin-bottom: 0.4em !important;
	line-height: 1.4 !important;
}

.woocommerce-Tabs-panel h5,
.woocommerce-tabs .panel h5,
#tab-description h5,
.ttp-single-product__excerpt h5,
.woocommerce-product-details__short-description h5 {
	font-size: 0.925rem !important;
	font-weight: 600 !important;
	color: #1e293b !important;
	margin-top: 0.9em !important;
	margin-bottom: 0.3em !important;
}

.woocommerce-Tabs-panel h6,
.woocommerce-tabs .panel h6,
#tab-description h6,
.ttp-single-product__excerpt h6,
.woocommerce-product-details__short-description h6 {
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: #334155 !important;
	margin-top: 0.8em !important;
	margin-bottom: 0.3em !important;
}

/* Related Products Section */
.ttp-single-product__related-section .related>h2 {
	font-size: 1.6rem !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin-bottom: 24px !important;
}

/* =============================================================================
   Related Products Carousel (same style as homepage category carousel)
   ============================================================================= */

.ttp-related-carousel-wrap {
	position: relative;
	overflow: hidden;
}

.ttp-related-carousel__track {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding: 4px 2px 12px 2px;
	cursor: grab;
	user-select: none;
}

.ttp-related-carousel__track.is-dragging {
	cursor: grabbing !important;
	scroll-behavior: auto !important;
	scroll-snap-type: none !important;
}

.ttp-related-carousel__track::-webkit-scrollbar {
	display: none;
}

/* 5 cards visible on PC */
.ttp-related-carousel__slide {
	flex: 0 0 calc(20% - 13px);
	min-width: 180px;
	scroll-snap-align: start;
}

.ttp-related-carousel__slide li.ttp-product-card-item {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

.ttp-related-carousel__slide .ttp-product-card {
	height: 100%;
}

/* Carousel prev/next arrows */
.ttp-related-carousel__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	background: #ffffff;
	border: 1.5px solid #e2e8f0;
	border-radius: 50%;
	width: 38px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: all 0.2s ease;
	color: #334155;
}

.ttp-related-carousel__arrow:hover {
	background: #2563eb;
	color: #ffffff;
	border-color: #2563eb;
}

.ttp-related-carousel__arrow--prev {
	left: -6px;
}

.ttp-related-carousel__arrow--next {
	right: -6px;
}

/* Tablet: 3 cards */
@media (max-width: 991.98px) {
	.ttp-related-carousel__slide {
		flex: 0 0 calc(33.333% - 11px);
		min-width: 160px;
	}
}

/* Mobile: 2 cards */
@media (max-width: 767.98px) {
	.ttp-related-carousel__slide {
		flex: 0 0 calc(50% - 8px);
		min-width: 140px;
	}

	.ttp-related-carousel__arrow {
		width: 32px;
		height: 32px;
	}
}

/* =============================================================================
   5. Pagination
   ============================================================================= */

.ttp-shop-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 36px;
	margin-bottom: 24px;
	width: 100%;
}

.ttp-load-more-container {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

.ttp-load-more-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 32px;
	background: #2563eb;
	color: #ffffff !important;
	font-size: 15px;
	font-weight: 600;
	border: none;
	border-radius: 50px;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.25);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	outline: none;
}

.ttp-load-more-btn:hover {
	background: #1d4ed8;
	box-shadow: 0 6px 20px rgba(37, 99, 235, 0.35);
	transform: translateY(-2px);
}

.ttp-load-more-btn:active {
	transform: translateY(0);
	box-shadow: 0 2px 8px rgba(37, 99, 235, 0.2);
}

.ttp-load-more-btn.is-loading {
	opacity: 0.8;
	pointer-events: none;
	cursor: wait;
}

.ttp-load-more-btn.is-loading .ttp-load-more-btn__icon {
	display: none;
}

.ttp-load-more-btn.is-loading .ttp-load-more-btn__spinner {
	display: inline-flex !important;
}

.ttp-spinner {
	animation: ttp-spin 0.8s linear infinite;
}

@keyframes ttp-spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

.woocommerce-pagination ul.page-numbers {
	display: flex !important;
	gap: 8px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 38px !important;
	height: 38px !important;
	padding: 0 10px !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	border: 1px solid #cbd5e1 !important;
	color: #334155 !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	text-decoration: none !important;
}

.woocommerce-pagination ul.page-numbers li span.current {
	background: #2563eb !important;
	color: #ffffff !important;
	border-color: #2563eb !important;
}

/* =============================================================================
   6. Professional Mobile Responsive Breakpoints (Single Product & Quick View)
   ============================================================================= */

@media (max-width: 991.98px) {
	.ttp-single-product__grid {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
		padding: 24px !important;
		border-radius: 16px !important;
	}

	.ttp-quick-view-wrapper {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}

	.ttp-single-trust-badges {
		grid-template-columns: 1fr !important;
	}

	.ttp-shop-sidebar {
		display: none !important;
	}

	.ttp-mobile-filter-btn {
		display: inline-flex !important;
	}

	ul.products {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 16px !important;
	}
}

@media (max-width: 767.98px) {

	/* Prevent horizontal body/container overflow on mobile */
	html,
	body,
	.ttp-single-product-page-wrapper,
	.ttp-single-product-layout,
	.single-product,
	.ttp-container {
		overflow-x: hidden !important;
		max-width: 100vw !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.ttp-container {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	.ttp-single-product__breadcrumb {
		margin-bottom: 12px !important;
		padding: 0 4px !important;
		font-size: 13px !important;
	}

	/* Card Outer Box Fit - Zero Horizontal Overflow */
	.ttp-single-product__grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
		padding: 12px !important;
		border-radius: 12px !important;
		margin-bottom: 20px !important;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	.ttp-single-product__gallery-col,
	.ttp-single-product__summary-col {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	/* Gallery Main & Slide Box (Strict 1:1 Aspect Ratio Box) */
	.ttp-single-product-gallery__main,
	.ttp-qv-slider-box {
		width: 100% !important;
		max-width: 100% !important;
		aspect-ratio: 1 / 1 !important;
		height: auto !important;
		border-radius: 10px !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	.ttp-qv-slide {
		padding: 10px !important;
		width: 100% !important;
		height: 100% !important;
		box-sizing: border-box !important;
	}

	.ttp-gallery-main-img,
	.ttp-qv-slide img {
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		max-height: 100% !important;
		object-fit: contain !important;
		object-position: center !important;
		display: block !important;
	}

	/* Thumbnails Strip on Mobile */
	.ttp-single-product-gallery__thumbs {
		gap: 6px !important;
		margin-top: 8px !important;
		padding: 2px 0 6px 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: auto !important;
		box-sizing: border-box !important;
	}

	.ttp-gallery-thumb {
		width: calc((100% - 24px) / 5) !important;
		min-width: calc((100% - 24px) / 5) !important;
		max-width: calc((100% - 24px) / 5) !important;
		flex: 0 0 calc((100% - 24px) / 5) !important;
		aspect-ratio: 1 / 1 !important;
		border-radius: 6px !important;
	}

	/* Summary Title & Price */
	.ttp-single-product__title,
	.ttp-qv-title {
		font-size: 1.35rem !important;
		margin-bottom: 8px !important;
		line-height: 1.3 !important;
	}

	.ttp-single-product__price,
	.ttp-qv-price {
		font-size: 1.5rem !important;
		margin-bottom: 14px !important;
	}

	.ttp-single-product__price .ttp-price-sale,
	.ttp-single-product__price .ttp-price-regular-only {
		font-size: 1.5rem !important;
	}

	.ttp-single-product__excerpt,
	.ttp-qv-description {
		font-size: 13.5px !important;
		margin-bottom: 14px !important;
		padding-bottom: 14px !important;
	}

	/* Action Buttons Area on Mobile:
	   Row 1: Quantity [- 1 +] and Add to Cart (Blue) side-by-side
	   Row 2: Buy Now (Green) full width below Row 1
	   Row 3: Wishlist full width below Row 2
	*/
	.ttp-single-product__atc-area {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 10px !important;
		width: 100% !important;
	}

	.ttp-single-product__atc-area form.cart:not(.variations_form),
	.ttp-single-product__summary-col .woocommerce-variation-add-to-cart,
	.ttp-qv-add-to-cart .woocommerce-variation-add-to-cart,
	.ttp-qv-add-to-cart form.cart:not(.variations_form) {
		width: 100% !important;
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		gap: 10px !important;
		align-items: center !important;
	}

	/* Row 1 Left: Quantity Selector [- 1 +] */
	.ttp-single-product__summary-col .quantity,
	.ttp-single-product__atc-area .quantity,
	.ttp-qv-add-to-cart .quantity,
	.quantity {
		flex: 0 0 110px !important;
		width: 110px !important;
		min-width: 110px !important;
		max-width: 110px !important;
		height: 46px !important;
		order: 1 !important;
	}

	.ttp-single-product__summary-col .quantity input.qty,
	.ttp-single-product__atc-area .quantity input.qty,
	.ttp-qv-add-to-cart .quantity input.qty,
	.quantity input.qty {
		width: 40px !important;
		min-width: 40px !important;
		font-size: 15px !important;
	}

	.ttp-qty-btn {
		width: 35px !important;
		min-width: 35px !important;
		font-size: 16px !important;
	}

	/* Row 1 Right: Add to Cart Button (Blue) Side-by-Side with Quantity */
	.ttp-single-product__summary-col button.single_add_to_cart_button,
	.ttp-single-product__atc-area button.single_add_to_cart_button,
	.ttp-qv-add-to-cart button.single_add_to_cart_button {
		flex: 1 1 0% !important;
		min-width: 0 !important;
		height: 46px !important;
		padding: 0 14px !important;
		font-size: 14px !important;
		order: 2 !important;
	}

	/* Row 2: Buy Now Button (Green) Full Width Below Row 1 ONLY on Mobile */
	.ttp-btn--buy-now {
		flex: 0 0 100% !important;
		width: 100% !important;
		min-width: 100% !important;
		height: 46px !important;
		padding: 0 16px !important;
		font-size: 14.5px !important;
		order: 3 !important;
		margin-top: 2px !important;
	}

	/* Row 3: Wishlist Button Full Width Below Row 2 */
	.ttp-single-wishlist-btn {
		width: 100% !important;
		height: 44px !important;
		justify-content: center !important;
		font-size: 14px !important;
		order: 4 !important;
	}

	.ttp-single-wishlist-btn.is-active {
		background-color: #fef2f2 !important;
		color: #ef4444 !important;
		border-color: #fca5a5 !important;
	}

	.ttp-single-wishlist-btn.is-active svg {
		fill: #ef4444 !important;
		stroke: #ef4444 !important;
	}

	.ttp-single-product-gallery__action-btn--wishlist.is-active {
		background-color: #ef4444 !important;
		color: #ffffff !important;
		border-color: #ef4444 !important;
	}

	.ttp-single-product-gallery__action-btn--wishlist.is-active svg {
		fill: #ffffff !important;
		stroke: none !important;
	}


	/* Quick View Modal Container on Mobile */
	.ttp-quick-modal__container {
		width: 95% !important;
		max-height: 92vh !important;
		padding: 16px !important;
		border-radius: 14px !important;
	}

	.ttp-quick-modal__close {
		top: 8px !important;
		left: 8px !important;
		right: auto !important;
		width: 28px !important;
		height: 28px !important;
		background: #ffffff !important;
		border: 1px solid #cbd5e1 !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18) !important;
		z-index: 99999 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 0 !important;
		border-radius: 50% !important;
	}

	.ttp-quick-modal__close svg {
		width: 15px !important;
		height: 15px !important;
		min-width: 15px !important;
		min-height: 15px !important;
		stroke: #0f172a !important;
		stroke-width: 2.2px !important;
		display: block !important;
	}

	/* Product Tabs Section */
	.ttp-single-product__tabs-section {
		padding: 16px !important;
		border-radius: 12px !important;
		margin-bottom: 24px !important;
	}

	.woocommerce-tabs ul.tabs {
		overflow-x: auto !important;
		white-space: nowrap !important;
		gap: 16px !important;
		padding-bottom: 8px !important;
		-webkit-overflow-scrolling: touch !important;
	}

	.woocommerce-tabs ul.tabs li a {
		font-size: 14px !important;
	}

	/* Responsive font size for product description headings on mobile */
	.woocommerce-Tabs-panel>h2:first-child,
	.woocommerce-tabs .panel>h2:first-child,
	#tab-description>h2:first-child {
		font-size: 1.1rem !important;
		margin-bottom: 12px !important;
	}

	.woocommerce-Tabs-panel h1,
	.woocommerce-tabs .panel h1,
	#tab-description h1,
	.ttp-single-product__excerpt h1,
	.woocommerce-product-details__short-description h1 {
		font-size: 1.15rem !important;
		margin-top: 1em !important;
		margin-bottom: 0.4em !important;
	}

	.woocommerce-Tabs-panel h2,
	.woocommerce-tabs .panel h2,
	#tab-description h2,
	.ttp-single-product__excerpt h2,
	.woocommerce-product-details__short-description h2 {
		font-size: 1.05rem !important;
		margin-top: 0.95em !important;
		margin-bottom: 0.4em !important;
	}

	.woocommerce-Tabs-panel h3,
	.woocommerce-tabs .panel h3,
	#tab-description h3,
	.ttp-single-product__excerpt h3,
	.woocommerce-product-details__short-description h3 {
		font-size: 0.975rem !important;
		margin-top: 0.9em !important;
		margin-bottom: 0.35em !important;
	}

	.woocommerce-Tabs-panel h4,
	.woocommerce-tabs .panel h4,
	#tab-description h4,
	.ttp-single-product__excerpt h4,
	.woocommerce-product-details__short-description h4 {
		font-size: 0.925rem !important;
		margin-top: 0.85em !important;
		margin-bottom: 0.3em !important;
	}

	.woocommerce-Tabs-panel h5,
	.woocommerce-tabs .panel h5,
	#tab-description h5,
	.ttp-single-product__excerpt h5,
	.woocommerce-product-details__short-description h5 {
		font-size: 0.875rem !important;
	}

	.woocommerce-Tabs-panel h6,
	.woocommerce-tabs .panel h6,
	#tab-description h6,
	.ttp-single-product__excerpt h6,
	.woocommerce-product-details__short-description h6 {
		font-size: 0.825rem !important;
	}
}

@media (max-width: 480px) {
	.ttp-single-product__grid {
		padding: 12px !important;
		border-radius: 10px !important;
	}

	.ttp-single-product__atc-area form.cart:not(.variations_form),
	.ttp-single-product__summary-col .woocommerce-variation-add-to-cart,
	.ttp-qv-add-to-cart .woocommerce-variation-add-to-cart,
	.ttp-qv-add-to-cart form.cart:not(.variations_form) {
		gap: 6px !important;
	}

	.ttp-single-product__summary-col button.single_add_to_cart_button,
	.ttp-single-product__atc-area button.single_add_to_cart_button,
	.ttp-qv-add-to-cart button.single_add_to_cart_button,
	.ttp-btn--buy-now {
		font-size: 12px !important;
		padding: 0 6px !important;
		gap: 4px !important;
	}

	ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px !important;
	}

	.ttp-product-card__info {
		padding: 10px;
	}

	.ttp-product-card__title {
		font-size: 12.5px !important;
		-webkit-line-clamp: 2 !important;
	}

	.ttp-product-card__footer {
		flex-direction: column;
		align-items: flex-start;
	}

	.ttp-product-card__atc-wrap {
		width: 100%;
	}

	.ttp-product-card__atc-wrap .button {
		width: 100% !important;
	}

	/* Mobile: sale price 3px smaller on product card */
	.ttp-product-card .ttp-price-sale,
	.ttp-product-card__price-row .ttp-price-sale {
		font-size: 0.96rem !important;
		/* ~3px less than default 1.15rem */
	}

	/* Mobile: tighten gap between sale price, regular price & % badge by 2px */
	.ttp-product-card__price-row {
		gap: 4px !important;
		/* was 6px, reduced by 2px */
	}
}

/* =============================================================================
   15. Slide-Over Mini-Cart Drawer Styles
   ============================================================================= */

/* Backdrop Overlay */
.ttp-cart-drawer-backdrop {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(15, 23, 42, 0.55);
	backdrop-filter: blur(4px);
	z-index: 9998;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.ttp-cart-drawer-backdrop.is-open {
	opacity: 1;
	visibility: visible;
}

/* Slide-Over Drawer Container */
.ttp-cart-drawer {
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	max-width: 420px;
	height: 100vh;
	background: #ffffff;
	z-index: 9999;
	box-shadow: -10px 0 30px rgba(0, 0, 0, 0.18);
	transform: translateX(100%);
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.ttp-cart-drawer.is-open {
	transform: translateX(0);
}

.ttp-cart-drawer__inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
	position: relative;
}

.ttp-cart-drawer__content {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
	overflow: hidden;
}

/* Header */
.ttp-cart-drawer__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 24px;
	border-bottom: 1px solid #e2e8f0;
	background: #ffffff;
}

.ttp-cart-drawer__title-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ttp-cart-drawer__title {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 !important;
}

.ttp-cart-drawer__count-badge {
	font-size: 12px;
	font-weight: 700;
	color: #2563eb;
	background: #eff6ff;
	padding: 3px 10px;
	border-radius: 20px;
}

.ttp-cart-drawer__close {
	background: #f1f5f9;
	border: 1px solid #e2e8f0;
	border-radius: 50%;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #0f172a !important;
	transition: all 0.2s ease;
}

.ttp-cart-drawer__close:hover {
	background: #ef4444 !important;
	color: #ffffff !important;
	border-color: #ef4444 !important;
}

/* Items Scrollable List */
.ttp-cart-drawer__items {
	flex: 1;
	overflow-y: auto;
	padding: 16px 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	scrollbar-width: thin;
	background: #f8fafc;
}

/* Individual Item Card (Matching Reference Screenshot) */
.ttp-cart-drawer__item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px;
	background: #ffffff;
	border-radius: 12px;
	border: 1px solid #f1f5f9;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	position: relative;
}

.ttp-cart-drawer__item-img {
	width: 60px;
	height: 60px;
	min-width: 60px;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #e2e8f0;
	background: #ffffff;
}

.ttp-cart-drawer__item-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ttp-cart-drawer__item-details {
	flex: 1;
	min-width: 0;
	padding-right: 20px;
}

.ttp-cart-drawer__item-title {
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: #0f172a !important;
	margin: 0 0 4px 0 !important;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ttp-cart-drawer__item-title a {
	color: #0f172a !important;
	text-decoration: none !important;
	transition: color 0.15s ease;
}

.ttp-cart-drawer__item-title a:hover {
	color: #2563eb !important;
}

.ttp-cart-drawer__item dl.variation {
	font-size: 11px;
	color: #059669;
	background: #ecfdf5;
	padding: 2px 8px;
	border-radius: 12px;
	margin: 0 0 6px 0;
	display: inline-flex;
	gap: 4px;
	width: auto;
}

.ttp-cart-drawer__item dl.variation dt,
.ttp-cart-drawer__item dl.variation dd {
	margin: 0;
	display: inline-block;
	font-weight: 600;
}

/* Calculation Row: [-] QTY [+] x UnitPrice = LineTotal */
.ttp-cart-drawer__calc-row {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 6px;
	font-size: 13px;
	color: #334155;
	flex-wrap: wrap;
}

.ttp-calc-sym {
	color: #94a3b8;
	font-weight: 600;
	font-size: 13px;
}

.ttp-calc-unit {
	color: #475569;
	font-weight: 600;
	font-size: 13px;
}

.ttp-calc-total {
	color: #0f172a;
	font-weight: 800;
	font-size: 13.5px;
}

/* In-Drawer Quantity Selector [-] 1 [+] */
.ttp-cart-drawer__qty-wrap {
	display: inline-flex;
	align-items: center;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	overflow: hidden;
	height: 28px;
	background: #ffffff;
}

.ttp-drawer-qty-btn {
	width: 24px;
	height: 100%;
	background: #f8fafc;
	border: none;
	font-size: 13px;
	font-weight: 700;
	color: #334155;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s ease;
	outline: none;
	user-select: none;
}

.ttp-drawer-qty-btn:hover {
	background: #e2e8f0;
	color: #0f172a;
}

.ttp-drawer-qty-input {
	width: 28px;
	height: 100%;
	border: none !important;
	border-left: 1px solid #e2e8f0 !important;
	border-right: 1px solid #e2e8f0 !important;
	text-align: center;
	font-weight: 700;
	font-size: 12.5px;
	color: #0f172a;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent;
	-moz-appearance: textfield;
}

.ttp-drawer-qty-input::-webkit-outer-spin-button,
.ttp-drawer-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Remove Item Cross Icon (Top-Right of Item Card) */
.ttp-cart-drawer__remove-btn {
	position: absolute;
	top: 12px;
	right: 12px;
	background: transparent;
	border: none;
	color: #64748b;
	cursor: pointer;
	padding: 4px;
	transition: color 0.15s ease, transform 0.15s ease;
	outline: none;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ttp-cart-drawer__remove-btn:hover {
	color: #ef4444;
	transform: scale(1.1);
}

/* Footer Summary Section */
.ttp-cart-drawer__footer {
	padding: 20px 24px;
	border-top: 1px solid #e2e8f0;
	background: #f8fafc;
	margin-top: auto;
}

/* Total Savings Badge ("You save ৳ XXX!") */
.ttp-cart-drawer__savings-badge {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	color: #047857;
	padding: 8px 12px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 14px;
}

.ttp-cart-drawer__subtotal-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 15px;
	font-weight: 600;
	color: #334155;
	margin-bottom: 16px;
}

.ttp-cart-drawer__subtotal-amount {
	font-size: 1.25rem;
	font-weight: 800;
	color: #0f172a;
}

.ttp-cart-drawer__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ttp-cart-drawer__checkout-btn {
	width: 100% !important;
	height: 46px !important;
	background: #16a34a !important;
	color: #ffffff !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	border-radius: 8px !important;
	border: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
	box-shadow: 0 3px 10px rgba(22, 163, 74, 0.25) !important;
	transition: all 0.2s ease !important;
}

.ttp-cart-drawer__checkout-btn:hover {
	background: #15803d !important;
	box-shadow: 0 4px 14px rgba(22, 163, 74, 0.35) !important;
}

.ttp-cart-drawer__view-cart-btn {
	width: 100% !important;
	height: 42px !important;
	background: #ffffff !important;
	color: #334155 !important;
	border: 1.5px solid #cbd5e1 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	border-radius: 8px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
}

.ttp-cart-drawer__view-cart-btn:hover {
	background: #f1f5f9 !important;
	color: #0f172a !important;
	border-color: #94a3b8 !important;
}

/* Empty Cart State */
.ttp-cart-drawer__empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 40px 24px;
	margin: auto 0;
}

.ttp-cart-drawer__empty-icon {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: #f1f5f9;
	color: #94a3b8;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}

.ttp-cart-drawer__empty h4 {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 0 8px 0 !important;
}

.ttp-cart-drawer__empty p {
	font-size: 14px;
	color: #64748b;
	margin: 0 0 24px 0;
	max-width: 280px;
}

.ttp-cart-drawer__shop-btn {
	padding: 0 24px !important;
	height: 44px !important;
	background: #2563eb !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	border-radius: 8px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
}

/* =============================================================================
   16. Floating Right Side-Cart Widget (Fixed Screen Right-Edge Centered)
   ============================================================================= */

.ttp-floating-side-cart {
	position: fixed !important;
	top: 50% !important;
	right: 0 !important;
	transform: translateY(-50%) !important;
	z-index: 9990 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 10px 0 0 10px !important;
	box-shadow: -4px 4px 18px rgba(15, 23, 42, 0.18) !important;
	overflow: hidden !important;
	cursor: pointer !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease !important;
	user-select: none !important;
}

.ttp-floating-side-cart:hover {
	transform: translateY(-50%) translateX(-4px) !important;
	box-shadow: -6px 6px 22px rgba(15, 23, 42, 0.25) !important;
}

.ttp-floating-side-cart__top {
	background: #2563eb !important;
	background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
	color: #ffffff !important;
	padding: 10px 14px 8px 14px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 4px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.ttp-floating-side-cart__icon-wrap {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.ttp-floating-side-cart__top svg {
	width: 22px !important;
	height: 22px !important;
	stroke: #ffffff !important;
}

.ttp-floating-side-cart__badge {
	position: absolute !important;
	top: -6px !important;
	right: -10px !important;
	background: #ef4444 !important;
	color: #ffffff !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	min-width: 17px !important;
	height: 17px !important;
	border-radius: 9999px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 4px !important;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) !important;
	border: 1.5px solid #2563eb !important;
	line-height: 1 !important;
}

.ttp-floating-side-cart__count {
	font-size: 12px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	white-space: nowrap !important;
	line-height: 1.1 !important;
}

.ttp-floating-side-cart__bottom {
	background: #ffffff !important;
	padding: 8px 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
	border-top: 1px solid #dbeafe !important;
}

.ttp-floating-side-cart__total {
	font-size: 13.5px !important;
	font-weight: 800 !important;
	color: #2563eb !important;
	white-space: nowrap !important;
}

.ttp-floating-side-cart__total .woocommerce-Price-amount,
.ttp-floating-side-cart__total bdi {
	color: #2563eb !important;
	font-weight: 800 !important;
}

@media (max-width: 767.98px) {
	.ttp-floating-side-cart {
		border-radius: 8px 0 0 8px !important;
		box-shadow: -2px 2px 10px rgba(15, 23, 42, 0.15) !important;
	}

	.ttp-floating-side-cart__top {
		padding: 5px 7px 4px 7px !important;
		gap: 2px !important;
	}

	.ttp-floating-side-cart__top svg {
		width: 15px !important;
		height: 15px !important;
	}

	.ttp-floating-side-cart__badge {
		top: -5px !important;
		right: -7px !important;
		font-size: 9px !important;
		min-width: 14px !important;
		height: 14px !important;
		padding: 0 2px !important;
		border-width: 1px !important;
	}

	.ttp-floating-side-cart__count {
		font-size: 9.5px !important;
		letter-spacing: -0.2px !important;
	}

	.ttp-floating-side-cart__bottom {
		padding: 3px 6px !important;
	}

	.ttp-floating-side-cart__total {
		font-size: 10.5px !important;
		font-weight: 700 !important;
	}
}

/* =============================================================================
   17. Single Product Page Share Button & Mobile Floating Overlay Actions
   ============================================================================= */

/* Desktop / PC Text Buttons */
.ttp-single-wishlist-btn,
.ttp-single-share-btn {
	height: 44px !important;
	padding: 0 18px !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 8px !important;
	color: #334155 !important;
	font-weight: 600 !important;
	background: #ffffff !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.ttp-single-wishlist-btn:hover,
.ttp-single-share-btn:hover {
	border-color: #2563eb !important;
	color: #2563eb !important;
	background: #eff6ff !important;
}

/* Mobile Floating Image Overlay Actions Button Styling */
.ttp-single-product-gallery__action-btn {
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.94) !important;
	backdrop-filter: blur(6px) !important;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.15) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #0f172a !important;
	border: 1px solid rgba(226, 232, 240, 0.9) !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	text-decoration: none !important;
	padding: 0 !important;
}

.ttp-single-product-gallery__action-btn:hover,
.ttp-single-product-gallery__action-btn:active {
	background: #ffffff !important;
	color: #2563eb !important;
	transform: scale(1.1) !important;
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.2) !important;
}

/* Floating Toast Notification */
.ttp-toast-notification {
	position: fixed !important;
	bottom: 30px !important;
	left: 50% !important;
	transform: translateX(-50%) translateY(20px) !important;
	background: #0f172a !important;
	color: #ffffff !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	padding: 10px 20px !important;
	border-radius: 9999px !important;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.25) !important;
	z-index: 999999 !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.ttp-toast-notification.is-visible {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateX(-50%) translateY(0) !important;
}

/* PC / Desktop (>=1024px): 5 products per row, hide overlay icons, show text buttons */
@media (min-width: 1024px) {
	ul.products {
		grid-template-columns: repeat(5, 1fr) !important;
		gap: 20px !important;
	}

	.ttp-single-product-gallery__mobile-actions {
		display: none !important;
	}

	.ttp-single-wishlist-btn,
	.ttp-single-share-btn {
		display: inline-flex !important;
	}
}

/* Tablet (768px - 1023.98px): 3 products per row */
@media (min-width: 768px) and (max-width: 1023.98px) {
	ul.products {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 16px !important;
	}
}

/* Mobile & Tablet (<1024px): Horizontal overlay icons (Wishlist Left, Share Right), hide text buttons in summary */
@media (max-width: 1023.98px) {
	.ttp-single-product-gallery__mobile-actions {
		display: flex !important;
		position: absolute !important;
		top: 14px !important;
		right: 14px !important;
		z-index: 99 !important;
		flex-direction: row !important;
		/* Horizontal side-by-side: Wishlist left, Share right */
		align-items: center !important;
		gap: 10px !important;
	}

	.ttp-single-product-gallery__mobile-actions .ttp-single-product-gallery__action-btn {
		display: flex !important;
		position: relative !important;
		opacity: 1 !important;
		visibility: visible !important;
	}

	.ttp-single-product__summary-col .ttp-single-wishlist-btn,
	.ttp-single-product__summary-col .ttp-single-share-btn {
		display: none !important;
	}

	.ttp-single-product__atc-area {
		gap: 8px !important;
	}
}

/* Mobile (<768px): 2 products per row */
@media (max-width: 767.98px) {
	ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px !important;
	}
}

/* =============================================================================
   18. Complete Variation Swatches & Attribute Buttons Styling (Theme Color Lockdown)
   ============================================================================= */

.ttp-swatches-wrapper {
	margin-bottom: 16px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.ttp-swatches-items {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	align-items: center !important;
}

/* Base Swatch Button Reset (Eliminate Parent Theme Styles) */
.ttp-swatch,
.variations button.ttp-swatch,
.variations_form button.ttp-swatch,
table.variations button.ttp-swatch {
	background: #ffffff !important;
	color: #334155 !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 8px !important;
	padding: 6px 14px !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	cursor: pointer !important;
	outline: none !important;
	box-shadow: none !important;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
	user-select: none !important;
}

/* Hover State (Blue Accent Hover - NO Pink/Purple!) */
.ttp-swatch:hover,
.variations button.ttp-swatch:hover,
.variations_form button.ttp-swatch:hover,
table.variations button.ttp-swatch:hover {
	background-color: #eff6ff !important;
	color: #2563eb !important;
	border-color: #2563eb !important;
	box-shadow: 0 2px 8px rgba(37, 99, 235, 0.15) !important;
	transform: translateY(-1px) !important;
}

/* Selected / Active State (Solid Blue Theme Fill) */
.ttp-swatch.is-selected,
.ttp-swatch.active,
.ttp-swatch:active,
.variations button.ttp-swatch.is-selected,
.variations_form button.ttp-swatch.is-selected,
table.variations button.ttp-swatch.is-selected {
	background-color: #2563eb !important;
	color: #ffffff !important;
	border-color: #2563eb !important;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25) !important;
	transform: translateY(0) !important;
}

/* Active Hover State */
.ttp-swatch.is-selected:hover,
.ttp-swatch.active:hover,
.variations button.ttp-swatch.is-selected:hover,
.variations_form button.ttp-swatch.is-selected:hover,
table.variations button.ttp-swatch.is-selected:hover {
	background-color: #1d4ed8 !important;
	color: #ffffff !important;
	border-color: #1d4ed8 !important;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35) !important;
}

/* Color Swatch Circle Styling */
.ttp-swatch--color {
	width: 32px !important;
	height: 32px !important;
	padding: 2px !important;
	border-radius: 50% !important;
	border: 2px solid #cbd5e1 !important;
	background: #ffffff !important;
}

.ttp-swatch--color .ttp-swatch-inner {
	width: 100% !important;
	height: 100% !important;
	border-radius: 50% !important;
	display: block !important;
}

.ttp-swatch--color:hover {
	border-color: #2563eb !important;
	transform: scale(1.12) !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2) !important;
}

.ttp-swatch--color.is-selected {
	border-color: #2563eb !important;
	transform: scale(1.12) !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3.5px rgba(37, 99, 235, 0.35) !important;
}

/* Image Swatch Styling */
.ttp-swatch--image {
	width: 44px !important;
	height: 44px !important;
	padding: 2px !important;
	border-radius: 8px !important;
	overflow: hidden !important;
}

.ttp-swatch--image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: 6px !important;
}

.ttp-swatch--image:hover {
	border-color: #2563eb !important;
	background: #ffffff !important;
	transform: scale(1.06) !important;
	box-shadow: 0 2px 8px rgba(37, 99, 235, 0.2) !important;
}

.ttp-swatch--image.is-selected {
	border-color: #2563eb !important;
	background: #ffffff !important;
	transform: scale(1.06) !important;
	box-shadow: 0 0 0 2.5px rgba(37, 99, 235, 0.3) !important;
}

/* =============================================================================
   19. Side Cart Drawer Close Button & 20px Icon Styling
   ============================================================================= */

#ttp-cart-drawer-close,
.ttp-cart-drawer__close {
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	min-height: 36px !important;
	border-radius: 50% !important;
	background: #f1f5f9 !important;
	color: #334155 !important;
	border: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	outline: none !important;
	box-shadow: none !important;
	flex-shrink: 0 !important;
}

#ttp-cart-drawer-close:hover,
.ttp-cart-drawer__close:hover {
	background: #e2e8f0 !important;
	color: #0f172a !important;
	transform: scale(1.08) !important;
}

#ttp-cart-drawer-close svg,
.ttp-cart-drawer__close svg {
	width: 20px !important;
	height: 20px !important;
	min-width: 20px !important;
	min-height: 20px !important;
	max-width: 20px !important;
	max-height: 20px !important;
	stroke-width: 2.2 !important;
	display: block !important;
	flex-shrink: 0 !important;
}

/* =============================================================================
   20. Professional Wishlist Page & Plugin Compatibility Styling
   ============================================================================= */

.ttp-wishlist-page-wrapper {
	padding: 40px 0 60px !important;
	background-color: #f8fafc !important;
	min-height: 60vh !important;
}

.ttp-wishlist-container {
	background: #ffffff !important;
	border-radius: 16px !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.03) !important;
	border: 1px solid #e2e8f0 !important;
	padding: 32px !important;
	margin: 0 auto !important;
}

@media (max-width: 767.98px) {
	.ttp-wishlist-container {
		padding: 20px 16px !important;
		border-radius: 12px !important;
	}
}

/* Hero Header */
.ttp-wishlist-hero {
	margin-bottom: 28px !important;
	padding-bottom: 20px !important;
	border-bottom: 1px solid #f1f5f9 !important;
}

.ttp-wishlist-hero__title-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
}

.ttp-wishlist-hero__title {
	font-size: 28px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin: 0 !important;
	letter-spacing: -0.02em !important;
	line-height: 1.2 !important;
}

.ttp-wishlist-hero__badge {
	display: inline-flex !important;
	align-items: center !important;
	background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
	color: #ffffff !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	padding: 4px 12px !important;
	border-radius: 9999px !important;
	box-shadow: 0 2px 6px rgba(37, 99, 235, 0.25) !important;
}

.ttp-wishlist-hero__subtitle {
	font-size: 14px !important;
	color: #64748b !important;
	margin: 8px 0 0 !important;
	line-height: 1.5 !important;
}

/* Wishlist Toolbar */
.ttp-wishlist-toolbar {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	margin-bottom: 24px !important;
	padding: 14px 18px !important;
	background: #f8fafc !important;
	border-radius: 12px !important;
	border: 1px solid #f1f5f9 !important;
	flex-wrap: wrap !important;
}

.ttp-wishlist-toolbar__right {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

/* Table Responsive (Desktop >= 768px) */
.ttp-wishlist-table-responsive {
	display: block !important;
	overflow-x: auto !important;
	margin-bottom: 0 !important;
}

.ttp-wishlist-table {
	width: 100% !important;
	border-collapse: collapse !important;
	text-align: left !important;
}

.ttp-wishlist-table th {
	background: #f8fafc !important;
	color: #475569 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	padding: 14px 16px !important;
	border-bottom: 2px solid #e2e8f0 !important;
}

.ttp-wishlist-table td {
	padding: 18px 16px !important;
	border-bottom: 1px solid #f1f5f9 !important;
	vertical-align: middle !important;
	color: #334155 !important;
}

/* Wishlist Table Column Widths */
.ttp-wishlist-table th.ttp-col-remove,
.ttp-wishlist-table td.ttp-col-remove {
	width: 50px !important;
	text-align: center !important;
}

.ttp-wishlist-table th.ttp-col-product,
.ttp-wishlist-table td.ttp-col-product {
	max-width: 300px !important;
	width: 40% !important;
}

.ttp-wishlist-table th.ttp-col-price,
.ttp-wishlist-table td.ttp-col-price {
	width: 140px !important;
}

.ttp-wishlist-table th.ttp-col-stock,
.ttp-wishlist-table td.ttp-col-stock {
	width: 130px !important;
}

.ttp-wishlist-table th.ttp-col-action,
.ttp-wishlist-table td.ttp-col-action {
	width: 160px !important;
	text-align: right !important;
}


.ttp-wishlist-row {
	transition: background-color 0.2s ease !important;
}

.ttp-wishlist-row:hover {
	background-color: #f8fafc !important;
}

/* Remove Button */
.ttp-wishlist-remove-btn {
	width: 34px !important;
	height: 34px !important;
	border-radius: 50% !important;
	background: transparent !important;
	border: none !important;
	color: #94a3b8 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	padding: 0 !important;
}

.ttp-wishlist-remove-btn:hover {
	background: #fee2e2 !important;
	color: #ef4444 !important;
	transform: scale(1.08) !important;
}

/* Product Info Cell */
.ttp-wishlist-product-item {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
}

.ttp-wishlist-thumb-link {
	width: 68px !important;
	height: 68px !important;
	flex-shrink: 0 !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	border: 1px solid #e2e8f0 !important;
	background: #f8fafc !important;
	display: block !important;
}

.ttp-wishlist-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

.ttp-wishlist-details {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

.ttp-wishlist-product-title {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #0f172a !important;
	text-decoration: none !important;
	line-height: 1.35 !important;
	transition: color 0.2s ease !important;
}

.ttp-wishlist-product-title:hover {
	color: #2563eb !important;
}

.ttp-wishlist-cats,
.ttp-wishlist-cats a {
	font-size: 12px !important;
	color: #64748b !important;
	text-decoration: none !important;
}

/* Price Cell */
.ttp-wishlist-price {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
}

.ttp-wishlist-price del {
	color: #94a3b8 !important;
	font-weight: 400 !important;
	font-size: 14px !important;
	margin-right: 6px !important;
}

.ttp-wishlist-price ins {
	text-decoration: none !important;
	color: #2563eb !important;
}

/* Stock Badge */
.ttp-stock-badge {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 4px 10px !important;
	border-radius: 9999px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
}

.ttp-stock-badge.in-stock {
	background: #dcfce7 !important;
	color: #15803d !important;
}

.ttp-stock-badge.out-of-stock {
	background: #fee2e2 !important;
	color: #b91c1c !important;
}

.ttp-stock-dot {
	width: 6px !important;
	height: 6px !important;
	border-radius: 50% !important;
	display: inline-block !important;
}

.ttp-stock-badge.in-stock .ttp-stock-dot {
	background: #22c55e !important;
	box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.2) !important;
}

.ttp-stock-badge.out-of-stock .ttp-stock-dot {
	background: #ef4444 !important;
	box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2) !important;
}

/* Mobile Card Grid (<768px) */
.ttp-wishlist-grid-mobile {
	display: none !important;
}

@media (max-width: 767.98px) {
	.ttp-wishlist-table-responsive {
		display: none !important;
	}

	.ttp-wishlist-grid-mobile {
		display: flex !important;
		flex-direction: column !important;
		gap: 14px !important;
	}
}

.ttp-wishlist-card {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	padding: 14px !important;
	border-radius: 12px !important;
	border: 1px solid #e2e8f0 !important;
	background: #ffffff !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
}

.ttp-wishlist-card__remove {
	position: absolute !important;
	top: 8px !important;
	right: 8px !important;
}

.ttp-wishlist-card__media {
	width: 80px !important;
	height: 80px !important;
	flex-shrink: 0 !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	border: 1px solid #f1f5f9 !important;
	display: block !important;
}

.ttp-wishlist-img-mobile {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.ttp-wishlist-card__body {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
	padding-right: 24px !important;
}

.ttp-wishlist-card__title {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #0f172a !important;
	text-decoration: none !important;
	line-height: 1.3 !important;
}

.ttp-wishlist-card__meta {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
}

.ttp-wishlist-card__price {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
}

.ttp-wishlist-card__action {
	margin-top: 4px !important;
}

/* Empty State */
.ttp-wishlist-empty {
	padding: 60px 20px !important;
	text-align: center !important;
}

.ttp-wishlist-empty__card {
	max-width: 440px !important;
	margin: 0 auto !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
}

.ttp-wishlist-empty__icon-wrap {
	width: 88px !important;
	height: 88px !important;
	border-radius: 50% !important;
	background: linear-gradient(135deg, #fce7f3 0%, #eff6ff 100%) !important;
	color: #ec4899 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 20px !important;
	box-shadow: 0 8px 24px rgba(236, 72, 153, 0.15) !important;
}

.ttp-wishlist-empty__title {
	font-size: 24px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin: 0 0 10px !important;
	letter-spacing: -0.01em !important;
}

.ttp-wishlist-empty__desc {
	font-size: 14px !important;
	color: #64748b !important;
	line-height: 1.6 !important;
	margin: 0 0 24px !important;
}

.ttp-wishlist-empty__cta {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 12px 28px !important;
	border-radius: 9999px !important;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.3) !important;
}

/* Toast Notifications */
.ttp-wishlist-toast-container {
	position: fixed !important;
	bottom: 24px !important;
	right: 24px !important;
	z-index: 99999 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	pointer-events: none !important;
}

.ttp-wishlist-toast {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 12px 18px !important;
	background: #0f172a !important;
	color: #ffffff !important;
	border-radius: 10px !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2) !important;
	opacity: 0 !important;
	transform: translateY(20px) !important;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
	pointer-events: auto !important;
}

.ttp-wishlist-toast.is-visible {
	opacity: 1 !important;
	transform: translateY(0) !important;
}

.ttp-wishlist-toast--success .ttp-wishlist-toast__icon {
	color: #4ade80 !important;
}

.ttp-wishlist-toast--error .ttp-wishlist-toast__icon {
	color: #f87171 !important;
}

/* =============================================================================
   21. YITH & TI Wishlist Plugin Style Overrides (Compatibility)
   ============================================================================= */

.yith-wcwl-form,
.tinv-wishlist {
	width: 100% !important;
}

.wishlist_table,
.tinvwl-table-manage-list {
	border-radius: 12px !important;
	overflow: hidden !important;
	border: 1px solid #e2e8f0 !important;
}

.wishlist_table th,
.tinvwl-table-manage-list th {
	background: #f8fafc !important;
	color: #475569 !important;
	font-weight: 700 !important;
	padding: 14px 16px !important;
}

.wishlist_table td,
.tinvwl-table-manage-list td {
	border-bottom: 1px solid #f1f5f9 !important;
	padding: 16px !important;
}

/* =============================================================================
   22. Full WooCommerce Cart Page Styling
   ============================================================================= */

.ttp-cart-page-wrapper {
	padding: 40px 0 60px !important;
	max-width: 1240px;
	margin: 0 auto;
}

/* Checkout Stepper Progress Bar */
.ttp-cart-stepper {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 16px !important;
	margin-bottom: 36px !important;
	padding: 16px 24px !important;
	background: #ffffff !important;
	border-radius: 16px !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
}

.ttp-cart-stepper__step {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	color: #94a3b8 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
}

.ttp-cart-stepper__num {
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	background: #f1f5f9 !important;
	color: #64748b !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	transition: all 0.2s ease !important;
}

.ttp-cart-stepper__step.is-active {
	color: #2563eb !important;
}

.ttp-cart-stepper__step.is-active .ttp-cart-stepper__num {
	background: #2563eb !important;
	color: #ffffff !important;
	box-shadow: 0 3px 10px rgba(37, 99, 235, 0.3) !important;
}

.ttp-cart-stepper__divider {
	flex: 0 0 40px !important;
	height: 2px !important;
	background: #e2e8f0 !important;
	border-radius: 2px !important;
}

/* Cart Hero Title */
.ttp-cart-hero {
	margin-bottom: 24px !important;
}

.ttp-cart-hero__title {
	font-size: 28px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}

.ttp-cart-hero__count {
	font-size: 13px !important;
	font-weight: 600 !important;
	background: #eff6ff !important;
	color: #2563eb !important;
	padding: 4px 12px !important;
	border-radius: 9999px !important;
	border: 1px solid #bfdbfe !important;
}

/* Free Shipping Progress Card */
.ttp-free-shipping-card {
	background: #f0fdf4 !important;
	border: 1px solid #bbf7d0 !important;
	border-radius: 14px !important;
	padding: 16px 20px !important;
	margin-bottom: 24px !important;
}

.ttp-free-shipping-card__info {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	color: #15803d !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	margin-bottom: 10px !important;
}

.ttp-free-shipping-card__bar-bg {
	height: 8px !important;
	background: #dcfce7 !important;
	border-radius: 9999px !important;
	overflow: hidden !important;
}

.ttp-free-shipping-card__bar-fill {
	height: 100% !important;
	background: linear-gradient(90deg, #22c55e, #16a34a) !important;
	border-radius: 9999px !important;
	transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* 2-Column Cart Layout Grid */
.ttp-cart-grid {
	display: grid !important;
	grid-template-columns: 1fr 380px !important;
	gap: 32px !important;
	align-items: start !important;
}

/* Desktop Cart Items Table */
.ttp-cart-table-responsive {
	background: #ffffff !important;
	border-radius: 16px !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
	overflow: hidden !important;
	margin-bottom: 24px !important;
}

.ttp-cart-table {
	width: 100% !important;
	border-collapse: collapse !important;
	text-align: left !important;
}

.ttp-cart-table th {
	background: #f8fafc !important;
	color: #475569 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	padding: 16px 18px !important;
	border-bottom: 2px solid #e2e8f0 !important;
}

.ttp-cart-table td {
	padding: 20px 18px !important;
	border-bottom: 1px solid #f1f5f9 !important;
	vertical-align: middle !important;
}

.ttp-cart-table th.ttp-cart-col-remove,
.ttp-cart-table td.ttp-cart-col-remove {
	width: 44px !important;
	text-align: center !important;
}

.ttp-cart-table th.ttp-cart-col-product,
.ttp-cart-table td.ttp-cart-col-product {
	width: 42% !important;
}

.ttp-cart-table th.ttp-cart-col-price,
.ttp-cart-table td.ttp-cart-col-price {
	width: 120px !important;
}

.ttp-cart-table th.ttp-cart-col-quantity,
.ttp-cart-table td.ttp-cart-col-quantity {
	width: 130px !important;
}

.ttp-cart-table th.ttp-cart-col-subtotal,
.ttp-cart-table td.ttp-cart-col-subtotal {
	width: 130px !important;
	text-align: right !important;
}

.ttp-cart-product-media {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
}

.ttp-cart-thumb-img,
.ttp-cart-thumb-img-mobile {
	width: 68px !important;
	height: 68px !important;
	object-fit: cover !important;
	border-radius: 10px !important;
	border: 1px solid #f1f5f9 !important;
}

.ttp-cart-product-title {
	font-size: 14.5px !important;
	font-weight: 600 !important;
	color: #0f172a !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
	line-height: 1.4 !important;
	display: block !important;
}

.ttp-cart-product-title:hover {
	color: #2563eb !important;
}

.ttp-cart-remove-btn {
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: #94a3b8 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
}

.ttp-cart-remove-btn:hover {
	background: #fef2f2 !important;
	color: #ef4444 !important;
}

/* Quantity Stepper Input */
.ttp-cart-qty-wrapper {
	display: inline-flex !important;
	align-items: center !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	background: #ffffff !important;
}

.ttp-cart-qty-btn {
	width: 30px !important;
	height: 32px !important;
	border: none !important;
	background: #f8fafc !important;
	color: #475569 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: background-color 0.2s ease !important;
}

.ttp-cart-qty-btn:hover {
	background: #e2e8f0 !important;
	color: #0f172a !important;
}

.ttp-cart-qty-input {
	width: 38px !important;
	height: 32px !important;
	border: none !important;
	text-align: center !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	padding: 0 !important;
	-moz-appearance: textfield;
}

.ttp-cart-qty-input::-webkit-outer-spin-button,
.ttp-cart-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ttp-cart-item-price,
.ttp-cart-item-subtotal {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
}

.ttp-cart-item-subtotal {
	color: #2563eb !important;
}

/* Mobile Item Cards (< 768px) */
.ttp-cart-mobile-list {
	display: none !important;
}

/* Cart Actions Toolbar */
.ttp-cart-actions-toolbar {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	padding: 16px 20px !important;
	background: #ffffff !important;
	border-radius: 16px !important;
	border: 1px solid #e2e8f0 !important;
	flex-wrap: wrap !important;
	margin-bottom: 24px !important;
}

.ttp-cart-coupon-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.ttp-cart-coupon-input {
	height: 42px !important;
	padding: 0 16px !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	outline: none !important;
	min-width: 200px !important;
}

.ttp-cart-coupon-input:focus {
	border-color: #2563eb !important;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
}

.ttp-cart-actions-right {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

/* Sticky Order Summary Sidebar Card */
.ttp-cart-summary-card {
	background: #ffffff !important;
	border-radius: 16px !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04) !important;
	padding: 24px !important;
	position: sticky !important;
	top: 90px !important;
}

.ttp-cart-summary-card__title {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 0 20px !important;
	padding-bottom: 14px !important;
	border-bottom: 1px solid #f1f5f9 !important;
}

.ttp-cart-summary-card .wc-proceed-to-checkout,
.ttp-cart-summary-card .cart_totals>h2 {
	display: none !important;
}


.ttp-cart-summary-card table.shop_table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin-bottom: 20px !important;
}

.ttp-cart-summary-card table.shop_table tr th,
.ttp-cart-summary-card table.shop_table tr td {
	padding: 12px 0 !important;
	border-bottom: 1px solid #f1f5f9 !important;
	font-size: 14px !important;
}

.ttp-cart-summary-card table.shop_table tr th {
	color: #64748b !important;
	font-weight: 500 !important;
	text-align: left !important;
}

.ttp-cart-summary-card table.shop_table tr td {
	color: #0f172a !important;
	font-weight: 700 !important;
	text-align: right !important;
}

.ttp-cart-summary-card table.shop_table tr.order-total th,
.ttp-cart-summary-card table.shop_table tr.order-total td {
	font-size: 18px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	border-bottom: none !important;
	padding-top: 16px !important;
}

.ttp-cart-summary-card table.shop_table tr.order-total td strong {
	color: #2563eb !important;
}

.ttp-cart-checkout-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	height: 52px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	border-radius: 12px !important;
	width: 100% !important;
	box-shadow: 0 4px 16px rgba(37, 99, 235, 0.35) !important;
}

/* Trust Badges */
.ttp-cart-trust-badges {
	margin-top: 24px !important;
	padding-top: 20px !important;
	border-top: 1px solid #f1f5f9 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

.ttp-cart-trust-item {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 12.5px !important;
	color: #64748b !important;
	font-weight: 500 !important;
}

.ttp-cart-trust-item svg {
	color: #16a34a !important;
	flex-shrink: 0 !important;
}

/* Empty Cart Card Styling */
.ttp-cart-empty-card {
	background: #ffffff !important;
	border-radius: 20px !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 6px 30px rgba(0, 0, 0, 0.04) !important;
	padding: 50px 30px !important;
	text-align: center !important;
	max-width: 580px !important;
	margin: 0 auto 40px !important;
}

.ttp-cart-empty-card__icon-wrap {
	width: 100px !important;
	height: 100px !important;
	border-radius: 50% !important;
	background: #eff6ff !important;
	color: #2563eb !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 24px !important;
}

.ttp-cart-empty-card__title {
	font-size: 24px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin: 0 0 12px !important;
}

.ttp-cart-empty-card__desc {
	font-size: 14.5px !important;
	color: #64748b !important;
	line-height: 1.6 !important;
	margin: 0 0 28px !important;
}

.ttp-cart-empty-card__cta {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 0 28px !important;
	height: 48px !important;
	font-size: 15px !important;
}

/* Responsive Styles */
@media (max-width: 991.98px) {
	.ttp-cart-grid {
		grid-template-columns: 1fr !important;
	}

	.ttp-cart-summary-card {
		position: static !important;
	}
}

@media (max-width: 767.98px) {
	.ttp-cart-stepper {
		gap: 8px !important;
		padding: 12px 14px !important;
	}

	.ttp-cart-stepper__label {
		font-size: 12px !important;
	}

	.ttp-cart-stepper__divider {
		flex: 0 0 20px !important;
	}

	.ttp-cart-table-responsive {
		display: none !important;
	}

	.ttp-cart-mobile-list {
		display: flex !important;
		flex-direction: column !important;
		gap: 16px !important;
		margin-bottom: 20px !important;
	}

	.ttp-cart-mobile-card {
		background: #ffffff !important;
		border-radius: 14px !important;
		border: 1px solid #e2e8f0 !important;
		padding: 14px !important;
		display: flex !important;
		gap: 14px !important;
		position: relative !important;
	}

	.ttp-cart-mobile-card__remove {
		position: absolute !important;
		top: 10px !important;
		right: 10px !important;
		color: #94a3b8 !important;
	}

	.ttp-cart-mobile-card__body {
		flex: 1 !important;
	}

	.ttp-cart-mobile-card__title {
		font-size: 14px !important;
		font-weight: 600 !important;
		color: #0f172a !important;
		text-decoration: none !important;
		display: block !important;
		margin-bottom: 6px !important;
		padding-right: 20px !important;
	}

	.ttp-cart-mobile-card__footer {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		margin-top: 10px !important;
	}

	.ttp-cart-coupon-input {
		min-width: 100% !important;
	}

	.ttp-cart-coupon-wrap {
		width: 100% !important;
		flex-direction: column !important;
	}

	.ttp-cart-coupon-btn {
		width: 100% !important;
	}
}

/* =============================================================================
   23. Full WooCommerce My Account Portal Styling
   ============================================================================= */

.ttp-myaccount-page-main {
	padding: 40px 0 60px !important;
	max-width: 1240px;
	margin: 0 auto;
}

/* 2-Column Split Dashboard Grid */
.ttp-myaccount-grid {
	display: grid !important;
	grid-template-columns: 260px 1fr !important;
	gap: 32px !important;
	align-items: start !important;
}

/* Sidebar Navigation Menu */
.ttp-myaccount-sidebar {
	background: #ffffff !important;
	border-radius: 16px !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
	overflow: hidden !important;
	position: sticky !important;
	top: 90px !important;
}

.ttp-myaccount-nav__list {
	list-style: none !important;
	margin: 0 !important;
	padding: 8px 0 !important;
}

.ttp-myaccount-nav__item {
	margin: 2px 8px !important;
}

.ttp-myaccount-nav__link {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 12px 16px !important;
	color: #475569 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	border-radius: 10px !important;
	transition: all 0.2s ease !important;
}

.ttp-myaccount-nav__link:hover {
	background: #f8fafc !important;
	color: #0f172a !important;
}

.ttp-myaccount-nav__item.is-active .ttp-myaccount-nav__link,
.woocommerce-MyAccount-navigation-link.is-active a {
	background: #eff6ff !important;
	color: #2563eb !important;
	font-weight: 700 !important;
}

.ttp-myaccount-nav__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: inherit !important;
}

/* Content Canvas Area */
.ttp-myaccount-content {
	background: #ffffff !important;
	border-radius: 16px !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
	padding: 32px !important;
	min-height: 500px !important;
}

/* Customer Welcome Hero Card */
.ttp-account-hero-card {
	display: flex !important;
	align-items: center !important;
	gap: 20px !important;
	padding: 24px !important;
	background: linear-gradient(135deg, #f8fafc, #f1f5f9) !important;
	border-radius: 14px !important;
	border: 1px solid #e2e8f0 !important;
	margin-bottom: 28px !important;
}

.ttp-account-avatar-img {
	width: 72px !important;
	height: 72px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	border: 3px solid #ffffff !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

.ttp-account-hero-card__name-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
}

.ttp-account-hero-card__name {
	font-size: 22px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin: 0 !important;
}

.ttp-account-hero-card__badge {
	font-size: 12px !important;
	font-weight: 700 !important;
	background: #dcfce7 !important;
	color: #15803d !important;
	padding: 3px 10px !important;
	border-radius: 9999px !important;
}

.ttp-account-hero-card__email {
	font-size: 14px !important;
	color: #64748b !important;
	margin: 4px 0 2px !important;
}

.ttp-account-hero-card__meta {
	font-size: 12.5px !important;
	color: #94a3b8 !important;
	margin: 0 !important;
}

/* 4 Quick Stat Cards Grid */
.ttp-account-stats-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 16px !important;
	margin-bottom: 32px !important;
}

.ttp-stat-card {
	background: #ffffff !important;
	border-radius: 14px !important;
	border: 1px solid #e2e8f0 !important;
	padding: 18px 16px !important;
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
}

.ttp-stat-card:hover {
	transform: translateY(-3px) !important;
	border-color: #cbd5e1 !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06) !important;
}

.ttp-stat-card__icon {
	width: 44px !important;
	height: 44px !important;
	border-radius: 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}

.ttp-stat-card__icon--blue {
	background: #eff6ff !important;
	color: #2563eb !important;
}

.ttp-stat-card__icon--amber {
	background: #fffbeb !important;
	color: #d97706 !important;
}

.ttp-stat-card__icon--green {
	background: #f0fdf4 !important;
	color: #16a34a !important;
}

.ttp-stat-card__icon--rose {
	background: #fff1f2 !important;
	color: #e11d48 !important;
}

.ttp-stat-card__val {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	display: block !important;
	line-height: 1.2 !important;
}

.ttp-stat-card__label {
	font-size: 12.5px !important;
	color: #64748b !important;
	font-weight: 500 !important;
}

/* Quick Actions Section */
.ttp-account-section-title {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 0 16px !important;
}

.ttp-account-actions-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 14px !important;
	margin-bottom: 32px !important;
}

/* Page Titles */
.ttp-account-page-title {
	font-size: 24px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin: 0 0 8px !important;
}

.ttp-account-page-subtitle {
	font-size: 14px !important;
	color: #64748b !important;
	margin: 0 0 24px !important;
}

/* Orders Table */
.ttp-orders-table-responsive {
	overflow-x: auto !important;
	border-radius: 12px !important;
	border: 1px solid #e2e8f0 !important;
	margin-bottom: 24px !important;
}

.ttp-orders-table {
	width: 100% !important;
	border-collapse: collapse !important;
	text-align: left !important;
}

.ttp-orders-table th {
	background: #f8fafc !important;
	color: #475569 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	padding: 14px 16px !important;
	border-bottom: 2px solid #e2e8f0 !important;
}

.ttp-orders-table td {
	padding: 16px !important;
	border-bottom: 1px solid #f1f5f9 !important;
	vertical-align: middle !important;
	font-size: 14px !important;
}

.ttp-order-link {
	font-weight: 700 !important;
	color: #2563eb !important;
	text-decoration: none !important;
}

.ttp-order-status-badge {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 4px 12px !important;
	border-radius: 9999px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
}

.ttp-status-dot {
	width: 6px !important;
	height: 6px !important;
	border-radius: 50% !important;
	background: currentColor !important;
}

.ttp-status-completed {
	background: #f0fdf4 !important;
	color: #15803d !important;
}

.ttp-status-processing {
	background: #eff6ff !important;
	color: #1d4ed8 !important;
}

.ttp-status-on-hold,
.ttp-status-pending {
	background: #fffbeb !important;
	color: #b45309 !important;
}

.ttp-status-cancelled,
.ttp-status-failed {
	background: #fef2f2 !important;
	color: #b91c1c !important;
}

/* Addresses Grid */
.ttp-addresses-grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 24px !important;
}

.ttp-address-card {
	background: #ffffff !important;
	border-radius: 14px !important;
	border: 1px solid #e2e8f0 !important;
	padding: 20px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
}

.ttp-address-card__header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	margin-bottom: 16px !important;
	padding-bottom: 12px !important;
	border-bottom: 1px solid #f1f5f9 !important;
}

.ttp-address-card__title {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.ttp-address-card__title svg {
	color: #2563eb !important;
}

.ttp-address-card__body address {
	font-style: normal !important;
	font-size: 14px !important;
	color: #475569 !important;
	line-height: 1.6 !important;
}

/* Account Details Form */
.ttp-form-fieldset {
	border: 1px solid #e2e8f0 !important;
	border-radius: 14px !important;
	padding: 24px !important;
	margin: 0 0 24px !important;
	background: #ffffff !important;
}

.ttp-form-legend {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	padding: 0 10px !important;
}

.ttp-form-row-grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 16px !important;
}

.ttp-form-row {
	margin-bottom: 16px !important;
}

.ttp-form-row label {
	display: block !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: #334155 !important;
	margin-bottom: 6px !important;
}

.ttp-input {
	width: 100% !important;
	height: 44px !important;
	padding: 0 16px !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	outline: none !important;
	transition: all 0.2s ease !important;
}

.ttp-input:focus {
	border-color: #2563eb !important;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
}

.ttp-form-help {
	font-size: 12.5px !important;
	color: #94a3b8 !important;
	margin-top: 4px !important;
	display: block !important;
}

/* Logged-Out Auth Portal (Login / Register) */
.ttp-auth-container {
	padding: 40px 0 60px !important;
	max-width: 480px;
	margin: 0 auto;
}

.ttp-auth-header {
	text-align: center !important;
	margin-bottom: 28px !important;
}

.ttp-auth-header__title {
	font-size: 26px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin: 0 0 8px !important;
}

.ttp-auth-header__subtitle {
	font-size: 14px !important;
	color: #64748b !important;
	margin: 0 !important;
	line-height: 1.5 !important;
}

.ttp-auth-card {
	background: #ffffff !important;
	border-radius: 20px !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 6px 30px rgba(0, 0, 0, 0.04) !important;
	padding: 28px !important;
}

.ttp-auth-tabs {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 8px !important;
	background: #f1f5f9 !important;
	padding: 4px !important;
	border-radius: 12px !important;
	margin-bottom: 24px !important;
}

.ttp-auth-tab-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	height: 40px !important;
	border: none !important;
	background: transparent !important;
	color: #64748b !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.ttp-auth-tab-btn.is-active {
	background: #ffffff !important;
	color: #2563eb !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

.ttp-auth-row-actions {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 20px !important;
	font-size: 13.5px !important;
}

.ttp-auth-row-actions a {
	color: #2563eb !important;
	text-decoration: none !important;
	font-weight: 500 !important;
}

.ttp-auth-security {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	margin-top: 24px !important;
	padding-top: 16px !important;
	border-top: 1px solid #f1f5f9 !important;
	font-size: 12.5px !important;
	color: #16a34a !important;
	font-weight: 500 !important;
}

/* Empty Card Common */
.ttp-account-empty-card {
	text-align: center !important;
	padding: 40px 20px !important;
}

.ttp-account-empty-card__icon-wrap {
	width: 80px !important;
	height: 80px !important;
	border-radius: 50% !important;
	background: #eff6ff !important;
	color: #2563eb !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 20px !important;
}

.ttp-account-empty-card__title {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 0 8px !important;
}

.ttp-account-empty-card__desc {
	font-size: 14px !important;
	color: #64748b !important;
	margin: 0 0 20px !important;
}

/* Responsive Breakpoints */
@media (max-width: 991.98px) {
	.ttp-myaccount-grid {
		grid-template-columns: 1fr !important;
	}

	.ttp-myaccount-sidebar {
		position: static !important;
	}

	.ttp-account-stats-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.ttp-account-actions-grid {
		grid-template-columns: 1fr !important;
	}

	.ttp-addresses-grid {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 767.98px) {
	.ttp-account-stats-grid {
		grid-template-columns: 1fr !important;
	}

	.ttp-form-row-grid {
		grid-template-columns: 1fr !important;
	}

	.ttp-myaccount-nav__list {
		display: flex !important;
		overflow-x: auto !important;
		padding: 6px !important;
	}

	.ttp-myaccount-nav__item {
		flex: 0 0 auto !important;
		margin: 0 !important;
	}

	.ttp-myaccount-nav__link {
		padding: 8px 14px !important;
		white-space: nowrap !important;
		font-size: 13px !important;
	}
}

/* =============================================================================
   24. Custom 404 Error Page Styling
   ============================================================================= */

.ttp-404-page-wrapper {
	padding: 50px 0 80px !important;
	max-width: 1240px;
	margin: 0 auto;
}

/* 404 Hero Header Section */
.ttp-404-hero {
	text-align: center !important;
	max-width: 640px !important;
	margin: 0 auto 60px !important;
}

.ttp-404-hero__badge {
	display: inline-block !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	background: #eff6ff !important;
	color: #2563eb !important;
	padding: 5px 16px !important;
	border-radius: 9999px !important;
	border: 1px solid #bfdbfe !important;
	margin-bottom: 20px !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
}

.ttp-404-hero__illustration {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	margin-bottom: 20px !important;
}

.ttp-404-num {
	font-size: 96px !important;
	font-weight: 900 !important;
	color: #2563eb !important;
	line-height: 1 !important;
	letter-spacing: -0.04em !important;
}

.ttp-404-icon-wrap {
	width: 90px !important;
	height: 90px !important;
	border-radius: 50% !important;
	background: #f1f5f9 !important;
	color: #64748b !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.06) !important;
}

.ttp-404-hero__title {
	font-size: 32px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin: 0 0 12px !important;
	letter-spacing: -0.02em !important;
}

.ttp-404-hero__desc {
	font-size: 15px !important;
	color: #64748b !important;
	line-height: 1.6 !important;
	margin: 0 0 28px !important;
}

/* Built-in Product Search Box */
.ttp-404-search-box {
	max-width: 500px !important;
	margin: 0 auto 32px !important;
}

.ttp-404-actions {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 16px !important;
	flex-wrap: wrap !important;
}

/* Popular Categories Section */
.ttp-404-categories {
	margin-bottom: 60px !important;
	padding-top: 40px !important;
	border-top: 1px solid #f1f5f9 !important;
}

.ttp-404-section-title {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin: 0 0 24px !important;
}

.ttp-404-cat-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 20px !important;
}

.ttp-404-cat-card {
	background: #ffffff !important;
	border-radius: 16px !important;
	border: 1px solid #e2e8f0 !important;
	padding: 16px !important;
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	text-decoration: none !important;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
}

.ttp-404-cat-card:hover {
	transform: translateY(-4px) !important;
	border-color: #2563eb !important;
	box-shadow: 0 10px 25px rgba(37, 99, 235, 0.1) !important;
}

.ttp-404-cat-img {
	width: 56px !important;
	height: 56px !important;
	border-radius: 12px !important;
	object-fit: cover !important;
	background: #f8fafc !important;
	flex-shrink: 0 !important;
}

.ttp-404-cat-name {
	font-size: 14.5px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	display: block !important;
	line-height: 1.3 !important;
}

.ttp-404-cat-count {
	font-size: 12.5px !important;
	color: #64748b !important;
	font-weight: 500 !important;
}

/* Recommended Products Section */
.ttp-404-products {
	padding-top: 40px !important;
	border-top: 1px solid #f1f5f9 !important;
}

.ttp-404-products-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	margin-bottom: 24px !important;
}

.ttp-404-products-header .ttp-404-section-title {
	margin: 0 !important;
}

.ttp-404-view-all-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #2563eb !important;
	text-decoration: none !important;
	transition: gap 0.2s ease !important;
}

.ttp-404-view-all-link:hover {
	gap: 10px !important;
}

/* Responsive 404 Breakpoints */
@media (max-width: 991.98px) {
	.ttp-404-cat-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 575.98px) {
	.ttp-404-num {
		font-size: 72px !important;
	}

	.ttp-404-icon-wrap {
		width: 70px !important;
		height: 70px !important;
	}

	.ttp-404-cat-grid {
		grid-template-columns: 1fr !important;
	}

	.ttp-404-actions {
		flex-direction: column !important;
		width: 100% !important;
	}

	.ttp-404-actions .ttp-btn {
		width: 100% !important;
	}
}

/* =============================================================================
   25. Custom Thank You / Order Received Page Styling
   ============================================================================= */

/* Hide Page Title on Thank You / Order Received Page */
.woocommerce-order-received .entry-title,
.woocommerce-order-received .page-title,
.woocommerce-order-received h1.entry-title,
.ttpixel-wc-thankyou .entry-title,
.ttpixel-wc-thankyou .page-title,
.ttpixel-wc-thankyou h1.entry-title,
.woocommerce-order-received header.entry-header {
	display: none !important;
}

.ttp-thankyou-container {
	padding: 24px 0 60px !important;
	max-width: 1000px;
	margin: 0 auto;
}

/* Order Success Hero Card */
.ttp-thankyou-hero {
	text-align: center !important;
	background: #ffffff !important;
	border-radius: 16px !important;
	border: 1px solid #e2e8f0 !important;
	padding: 32px 24px !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02) !important;
	margin-bottom: 24px !important;
}

.ttp-thankyou-hero__icon-wrap {
	width: 68px !important;
	height: 68px !important;
	border-radius: 50% !important;
	background: #f0fdf4 !important;
	color: #16a34a !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 16px !important;
	border: 4px solid #dcfce7 !important;
}

.ttp-thankyou-hero__icon-wrap--failed {
	background: #fef2f2 !important;
	color: #dc2626 !important;
	border-color: #fee2e2 !important;
}

.ttp-thankyou-hero__title {
	font-size: 24px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin: 0 0 10px !important;
	letter-spacing: -0.01em !important;
}

.ttp-thankyou-hero__subtitle {
	font-size: 14.5px !important;
	color: #64748b !important;
	max-width: 580px !important;
	margin: 0 auto !important;
	line-height: 1.5 !important;
}

.ttp-thankyou-hero__subtitle strong {
	color: #0f172a !important;
}

/* 4 Key Order Summary Stat Cards Grid */
.ttp-thankyou-stats-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 16px !important;
	margin-bottom: 24px !important;
}

.ttp-ty-stat-card {
	background: #ffffff !important;
	border-radius: 12px !important;
	border: 1px solid #e2e8f0 !important;
	padding: 16px 14px !important;
	text-align: center !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
}

.ttp-ty-stat-card__label {
	font-size: 11.5px !important;
	font-weight: 700 !important;
	color: #64748b !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	display: block !important;
	margin-bottom: 4px !important;
}

.ttp-ty-stat-card__val {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	display: block !important;
}

.ttp-ty-stat-card__val--accent {
	color: #16a34a !important;
	font-size: 17px !important;
	font-weight: 800 !important;
}

/* Card Titles */
.ttp-thankyou-card-title {
	font-size: 16px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin: 0 0 16px !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.ttp-thankyou-card-title svg {
	color: #2563eb !important;
}

/* Order Details Table */
.ttp-thankyou-details-card {
	background: #ffffff !important;
	border-radius: 14px !important;
	border: 1px solid #e2e8f0 !important;
	padding: 20px 24px !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
	margin-bottom: 24px !important;
}

.ttp-ty-table-responsive {
	overflow-x: auto !important;
}

.ttp-ty-items-table {
	width: 100% !important;
	border-collapse: collapse !important;
}

.ttp-ty-items-table th,
.ttp-ty-items-table td {
	padding: 12px 14px !important;
	border-bottom: 1px solid #f1f5f9 !important;
	font-size: 13.5px !important;
}

.ttp-ty-items-table th {
	background: #f8fafc !important;
	color: #475569 !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	font-size: 11.5px !important;
}

.ttp-ty-product-row {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}

.ttp-ty-product-thumb img {
	width: 44px !important;
	height: 44px !important;
	border-radius: 8px !important;
	object-fit: cover !important;
	background: #f8fafc !important;
	border: 1px solid #e2e8f0 !important;
}

.ttp-ty-product-title {
	font-weight: 600 !important;
	color: #0f172a !important;
	text-decoration: none !important;
}

.ttp-ty-items-table tfoot tr th {
	text-align: right !important;
	background: transparent !important;
	text-transform: none !important;
	font-size: 13px !important;
	color: #475569 !important;
	font-weight: 600 !important;
	white-space: nowrap !important;
}

.ttp-ty-items-table tfoot tr td {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #0f172a !important;
}

.ttp-ty-items-table tfoot tr:last-child th,
.ttp-ty-items-table tfoot tr:last-child td {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	border-top: 1px solid #e2e8f0 !important;
}

/* Addresses Grid */
.ttp-thankyou-addresses-grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 20px !important;
	margin-bottom: 24px !important;
}

.ttp-address-phone {
	margin-top: 6px !important;
	padding-top: 6px !important;
	border-top: 1px dashed #e2e8f0 !important;
}

/* Action Toolbar & Compact Buttons */
.ttp-thankyou-actions {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
	margin-top: 20px !important;
}

.ttp-thankyou-actions .ttp-btn {
	padding: 11px 22px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	border-radius: 10px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
	box-sizing: border-box !important;
}

.ttp-thankyou-actions .ttp-btn--primary {
	background: #2563eb !important;
	color: #ffffff !important;
	border: 1px solid #2563eb !important;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2) !important;
}

.ttp-thankyou-actions .ttp-btn--primary:hover {
	background: #1d4ed8 !important;
	border-color: #1d4ed8 !important;
	box-shadow: 0 6px 16px rgba(37, 99, 235, 0.3) !important;
}

.ttp-thankyou-actions .ttp-btn--outline {
	background: #ffffff !important;
	color: #334155 !important;
	border: 1.5px solid #cbd5e1 !important;
}

.ttp-thankyou-actions .ttp-btn--outline:hover {
	background: #f8fafc !important;
	border-color: #94a3b8 !important;
	color: #0f172a !important;
}

/* Responsive Thank You Breakpoints */
@media (max-width: 991.98px) {
	.ttp-thankyou-stats-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.ttp-thankyou-addresses-grid {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 767.98px) {

	/* Reset outer theme parent wrapper padding on Thank You page */
	.ttpixel-wc-thankyou #content,
	.ttpixel-wc-thankyou #primary,
	.ttpixel-wc-thankyou .site-main,
	.ttpixel-wc-thankyou .entry-content,
	.ttpixel-wc-thankyou .woocommerce,
	.woocommerce-order-received #content,
	.woocommerce-order-received #primary,
	.woocommerce-order-received .site-main,
	.woocommerce-order-received .entry-content,
	.woocommerce-order-received .woocommerce {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.ttp-thankyou-container {
		padding: 12px 10px !important;
		max-width: 100% !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.ttp-thankyou-container .ttp-container {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	.ttp-thankyou-hero {
		padding: 20px 10px !important;
		border-radius: 12px !important;
		margin-bottom: 12px !important;
	}

	.ttp-thankyou-hero__title {
		font-size: 18px !important;
		font-weight: 700 !important;
	}

	.ttp-thankyou-hero__subtitle {
		font-size: 12.5px !important;
	}

	.ttp-thankyou-stats-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 8px !important;
		margin-bottom: 12px !important;
	}

	.ttp-ty-stat-card {
		padding: 10px 6px !important;
		border-radius: 8px !important;
	}

	.ttp-ty-stat-card__label {
		font-size: 10px !important;
		font-weight: 600 !important;
		margin-bottom: 2px !important;
	}

	.ttp-ty-stat-card__val {
		font-size: 12.5px !important;
		font-weight: 600 !important;
	}

	.ttp-ty-stat-card__val--accent {
		font-size: 13.5px !important;
		font-weight: 700 !important;
	}

	.ttp-thankyou-details-card {
		padding: 12px 10px !important;
		border-radius: 10px !important;
		margin-bottom: 12px !important;
	}

	.ttp-address-card {
		padding: 12px 10px !important;
		border-radius: 10px !important;
	}

	.ttp-ty-items-table th,
	.ttp-ty-items-table td {
		padding: 8px 6px !important;
		font-size: 12px !important;
	}

	.ttp-ty-items-table tfoot tr th {
		font-size: 12px !important;
		font-weight: 600 !important;
		white-space: nowrap !important;
		padding: 8px 6px !important;
	}

	.ttp-ty-items-table tfoot tr td {
		font-size: 12px !important;
		font-weight: 600 !important;
		padding: 8px 6px !important;
	}

	.ttp-ty-items-table tfoot tr:last-child th,
	.ttp-ty-items-table tfoot tr:last-child td {
		font-size: 12.5px !important;
		font-weight: 700 !important;
	}

	.ttp-ty-product-row {
		gap: 8px !important;
	}

	.ttp-ty-product-title {
		font-size: 12.5px !important;
		font-weight: 600 !important;
	}

	.ttp-ty-product-thumb img {
		width: 34px !important;
		height: 34px !important;
	}

	.ttp-thankyou-actions {
		flex-direction: row !important;
		gap: 8px !important;
		width: 100% !important;
	}

	.ttp-thankyou-actions .ttp-btn {
		flex: 1 !important;
		padding: 10px 8px !important;
		font-size: 12px !important;
		border-radius: 8px !important;
		white-space: nowrap !important;
	}

	.ttp-thankyou-actions .ttp-btn svg {
		width: 14px !important;
		height: 14px !important;
	}
}

/* Print Receipt Stylesheet */
@media print {

	#masthead,
	#colophon,
	.ttp-cart-stepper,
	.ttp-thankyou-actions,
	.ttp-delivery-timeline-card,
	.ttp-whatsapp-float {
		display: none !important;
	}

	a[href]::after {
		content: none !important;
	}

	.ttp-thankyou-container {
		padding: 0 !important;
		max-width: 100% !important;
	}

	.ttp-thankyou-hero,
	.ttp-thankyou-details-card,
	.ttp-address-card {
		box-shadow: none !important;
		border: 1px solid #e2e8f0 !important;
	}
}


/* =============================================================================
   12. High-Converting 2-Column Checkout Page Styles
   ============================================================================= */

.ttp-checkout-page-wrapper {
	max-width: 1240px;
	margin: 0 auto;
	padding: 32px 20px 80px 20px;
	background-color: #f8fafc;
	min-height: 85vh;
}

/* Stepper Stepper Active/Completed Override */
.ttp-cart-stepper__step.is-complete {
	background: #ecfdf5 !important;
	border-color: #10b981 !important;
	color: #059669 !important;
}

.ttp-cart-stepper__step.is-complete .ttp-cart-stepper__num {
	background: #10b981 !important;
	color: #ffffff !important;
}

.ttp-cart-stepper__divider.is-complete {
	background-color: #10b981 !important;
}

/* Checkout Hero */
.ttp-checkout-hero {
	text-align: center;
	margin-bottom: 32px;
}

.ttp-checkout-hero__title {
	font-size: 2.25rem !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin-bottom: 8px !important;
	letter-spacing: -0.02em;
}

.ttp-checkout-hero__subtitle {
	color: #64748b;
	font-size: 15px;
	margin: 0;
}

/* Notice Cards (Coupon / Login Accordions) */
.ttp-checkout-notice-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 16px 20px;
	margin-bottom: 24px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
	transition: border-color 0.2s ease;
}

.ttp-checkout-notice-card:hover {
	border-color: #cbd5e1;
}

.ttp-checkout-notice-card__banner {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: #334155;
	font-weight: 500;
}

.ttp-checkout-notice-card__banner svg {
	color: #2563eb;
	flex-shrink: 0;
}

.ttp-checkout-notice-card__link {
	color: #2563eb !important;
	font-weight: 600;
	text-decoration: underline !important;
	margin-left: 4px;
}

.ttp-checkout-notice-card__link:hover {
	color: #1d4ed8 !important;
}

.ttp-checkout-coupon-form {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px dashed #e2e8f0;
}

.ttp-checkout-coupon-form__intro {
	font-size: 13px;
	color: #64748b;
	margin-bottom: 12px;
}

.ttp-checkout-coupon-form__group {
	display: flex;
	gap: 10px;
	max-width: 440px;
}

.ttp-checkout-coupon-form__input {
	flex: 1;
	height: 44px;
	border: 1px solid #cbd5e1 !important;
	border-radius: 8px !important;
	padding: 0 14px !important;
	font-size: 14px !important;
	outline: none !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.ttp-checkout-coupon-form__input:focus {
	border-color: #2563eb !important;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
}

.ttp-checkout-coupon-form__button {
	height: 44px;
	padding: 0 20px !important;
	background: #0f172a !important;
	color: #ffffff !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	border: none !important;
	cursor: pointer;
	transition: background 0.15s ease !important;
}

.ttp-checkout-coupon-form__button:hover {
	background: #1e293b !important;
}

/* 2-Column Grid Layout */
.ttp-checkout-grid {
	display: grid;
	grid-template-columns: 1fr 420px;
	gap: 36px;
	align-items: flex-start;
}

@media (min-width: 1200px) {
	.ttp-checkout-grid {
		grid-template-columns: 1fr 440px;
	}
}

/* Left Main Column Cards */
.ttp-checkout-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 32px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
}

.ttp-checkout-section {
	margin-bottom: 32px;
}

.ttp-checkout-section:last-child {
	margin-bottom: 0;
}

.ttp-checkout-section__header {
	margin-bottom: 24px;
	padding-bottom: 14px;
	border-bottom: 1px solid #f1f5f9;
}

.ttp-checkout-section__title {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 !important;
	display: flex;
	align-items: center;
	gap: 10px;
}

.ttp-checkout-section__title svg {
	color: #2563eb;
}

/* WooCommerce Form Field Restyling */
.woocommerce-checkout .form-row {
	margin-bottom: 20px !important;
	padding: 0 !important;
	float: none !important;
	width: 100% !important;
}

.woocommerce-checkout .form-row-first {
	width: 48.5% !important;
	float: left !important;
}

.woocommerce-checkout .form-row-last {
	width: 48.5% !important;
	float: right !important;
}

.woocommerce-checkout .form-row::after {
	content: "";
	display: table;
	clear: both;
}

.woocommerce-checkout label {
	display: block !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #334155 !important;
	margin-bottom: 6px !important;
}

.woocommerce-checkout label .required {
	color: #ef4444 !important;
	text-decoration: none !important;
	margin-left: 2px;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select {
	width: 100% !important;
	height: 48px !important;
	padding: 0 16px !important;
	background-color: #f8fafc !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	color: #0f172a !important;
	transition: all 0.2s ease !important;
	outline: none !important;
	box-shadow: none !important;
}

.woocommerce-checkout textarea {
	height: 100px !important;
	padding: 14px 16px !important;
	resize: vertical;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus {
	background-color: #ffffff !important;
	border-color: #2563eb !important;
	box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12) !important;
}

/* Shipping Checkbox Switch */
#ship-to-different-address {
	margin-bottom: 0 !important;
	padding-top: 16px;
	border-top: 1px solid #f1f5f9;
}

#ship-to-different-address label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	cursor: pointer;
}

#ship-to-different-address input[type="checkbox"] {
	width: 20px !important;
	height: 20px !important;
	accent-color: #2563eb !important;
	border-radius: 4px !important;
	cursor: pointer;
}

/* Right Sticky Sidebar Cards */
.ttp-checkout-sidebar-sticky {
	position: sticky;
	top: 90px;
}

.ttp-checkout-summary-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
	margin-bottom: 24px;
}

.ttp-checkout-summary-card__header {
	background: #f8fafc;
	padding: 20px 24px;
	border-bottom: 1px solid #e2e8f0;
}

.ttp-checkout-summary-card__title {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 !important;
	display: flex;
	align-items: center;
	gap: 10px;
}

.ttp-checkout-summary-card__title svg {
	color: #2563eb;
}

.ttp-checkout-summary-card__body {
	padding: 24px;
}

/* Order Review Items List */
.ttp-review-order-items {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid #f1f5f9;
	max-height: 300px;
	overflow-y: auto;
}

.ttp-review-item {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ttp-review-item__media {
	position: relative;
	width: 56px;
	height: 56px;
	flex-shrink: 0;
	border-radius: 10px;
	overflow: visible;
	background: #f1f5f9;
	border: 1px solid #e2e8f0;
}

.ttp-review-item__img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	border-radius: 10px;
}

.ttp-review-item__qty-badge {
	position: absolute;
	top: -6px;
	right: -6px;
	background: #0f172a;
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #ffffff;
}

.ttp-review-item__info {
	flex: 1;
}

.ttp-review-item__name {
	font-size: 14px;
	font-weight: 600;
	color: #0f172a;
	line-height: 1.3;
	display: block;
}

.ttp-review-item__total {
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
	text-align: right;
}

/* Review Totals Rows */
.ttp-review-totals {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ttp-review-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 14px;
	color: #475569;
}

.ttp-review-row__label {
	font-weight: 500;
}

.ttp-review-row__value {
	font-weight: 700;
	color: #0f172a;
}

.ttp-review-row.order-total {
	margin-top: 12px;
	padding-top: 16px;
	border-top: 2px solid #e2e8f0;
	font-size: 1.15rem;
}

.ttp-review-row.order-total .ttp-review-row__label {
	font-weight: 800;
	color: #0f172a;
}

.ttp-review-row.order-total .ttp-review-row__value {
	font-size: 1.35rem;
	font-weight: 800;
	color: #2563eb;
}

/* Shipping Methods in Review */
.ttp-review-shipping-row {
	padding: 12px 0;
	border-top: 1px dashed #e2e8f0;
	border-bottom: 1px dashed #e2e8f0;
}

.ttp-review-shipping-row ul#shipping_method {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ttp-review-shipping-row ul#shipping_method li {
	margin-bottom: 8px !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 13px !important;
}

/* Payment Methods Section */
#payment {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid #e2e8f0;
	background: transparent !important;
	border-radius: 0 !important;
}

#payment ul.payment_methods {
	list-style: none !important;
	margin: 0 0 20px 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

#payment ul.payment_methods li {
	margin: 0 !important;
	padding: 14px 16px !important;
	background: #f8fafc !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 10px !important;
	transition: all 0.2s ease !important;
}

#payment ul.payment_methods li:hover {
	border-color: #cbd5e1 !important;
}

#payment ul.payment_methods li.wc_payment_method input[type="radio"] {
	margin-right: 8px !important;
	accent-color: #2563eb !important;
	cursor: pointer;
}

#payment ul.payment_methods li label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 !important;
	cursor: pointer;
}

#payment div.payment_box {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 8px !important;
	padding: 12px 14px !important;
	font-size: 13px !important;
	color: #475569 !important;
	margin-top: 10px !important;
}

#payment div.payment_box::before {
	display: none !important;
}

/* Place Order Submit Button */
#place_order {
	width: 100% !important;
	height: 54px !important;
	background: #2563eb !important;
	color: #ffffff !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	border: none !important;
	border-radius: 12px !important;
	cursor: pointer !important;
	box-shadow: 0 4px 16px rgba(37, 99, 235, 0.3) !important;
	transition: all 0.2s ease !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
}

#place_order:hover {
	background: #1d4ed8 !important;
	box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45) !important;
	transform: translateY(-1px) !important;
}

#place_order:active {
	transform: translateY(0) !important;
}

/* Trust & Security Badges Card */
.ttp-checkout-trust-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 20px 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

.ttp-checkout-trust-item {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ttp-checkout-trust-item svg {
	color: #10b981;
	flex-shrink: 0;
}

.ttp-checkout-trust-item strong {
	display: block;
	font-size: 13px;
	color: #0f172a;
	margin-bottom: 2px;
}

.ttp-checkout-trust-item span {
	display: block;
	font-size: 12px;
	color: #64748b;
	line-height: 1.3;
}

/* Responsive Checkout Breakpoints */
@media (max-width: 991.98px) {
	.ttp-checkout-grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.ttp-checkout-sidebar-sticky {
		position: static;
	}

	.ttp-checkout-hero__title {
		font-size: 1.85rem !important;
	}

	.ttp-checkout-card {
		padding: 24px;
	}
}

@media (max-width: 640px) {
	.ttp-checkout-page-wrapper {
		padding: 20px 14px 60px 14px;
	}

	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last {
		width: 100% !important;
		float: none !important;
	}

	.ttp-checkout-card {
		padding: 20px 16px;
	}

	.ttp-checkout-coupon-form__group {
		flex-direction: column;
	}

	.ttp-checkout-coupon-form__button {
		width: 100%;
	}
}

/* =============================================================================
   MINIMAL CHECKOUT — .ttp-co-* (v2.0 Premium 3-Field Design)
   নাম | ফোন | ঠিকানা — কোনো clutter নেই
   ============================================================================= */

/* ── Page Wrapper ────────────────────────────────────────────── */
.ttp-co-wrap {
	max-width: 1140px;
	margin: 0 auto;
	padding: 36px 20px 80px;
	background: #f5f7fa;
	min-height: 80vh;
}

/* ── Progress Steps ──────────────────────────────────────────── */
.ttp-co-steps {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	margin-bottom: 40px;
}

.ttp-co-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-decoration: none !important;
}

.ttp-co-step__num {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #e2e8f0;
	color: #94a3b8;
	font-size: 15px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}

.ttp-co-step--done .ttp-co-step__num {
	background: #22c55e;
	color: #fff;
}

.ttp-co-step--active .ttp-co-step__num {
	background: linear-gradient(135deg, #f97316, #ef4444);
	color: #fff;
	box-shadow: 0 4px 16px rgba(249, 115, 22, 0.35);
}

.ttp-co-step__lbl {
	font-size: 12px;
	font-weight: 600;
	color: #94a3b8;
	letter-spacing: 0.02em;
}

.ttp-co-step--done .ttp-co-step__lbl,
.ttp-co-step--active .ttp-co-step__lbl {
	color: #1e293b;
}

.ttp-co-step__line {
	flex: 1;
	height: 2px;
	background: #e2e8f0;
	margin: 0 8px;
	margin-bottom: 20px;
	max-width: 120px;
	border-radius: 2px;
}

.ttp-co-step__line--done {
	background: linear-gradient(90deg, #22c55e, #86efac);
}

/* ── Main 2-Col Grid ─────────────────────────────────────────── */
.ttp-co-grid {
	display: grid;
	grid-template-columns: 1fr 420px;
	gap: 28px;
	align-items: start;
}

/* ── Cards ───────────────────────────────────────────────────── */
.ttp-co-card {
	background: #fff;
	border-radius: 20px;
	padding: 32px;
	box-shadow: 0 2px 20px rgba(15, 23, 42, 0.06);
	border: 1px solid #e8edf3;
	margin-bottom: 20px;
}

.ttp-co-card:last-child {
	margin-bottom: 0;
}

.ttp-co-card__header {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 28px;
	padding-bottom: 20px;
	border-bottom: 1px solid #f1f5f9;
}

.ttp-co-card__icon {
	width: 48px;
	height: 48px;
	background: linear-gradient(135deg, #fff7ed, #ffedd5);
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #f97316;
	flex-shrink: 0;
}

.ttp-co-card--payment .ttp-co-card__icon {
	background: linear-gradient(135deg, #eff6ff, #dbeafe);
	color: #3b82f6;
}

.ttp-co-card__title {
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 0 3px !important;
	line-height: 1.3 !important;
}

.ttp-co-card__subtitle {
	font-size: 13px !important;
	color: #64748b !important;
	margin: 0 !important;
}

/* ── Billing Fields ──────────────────────────────────────────── */
.ttp-co-fields .woocommerce-billing-fields__field-wrapper,
.ttp-co-fields .woocommerce-shipping-fields__field-wrapper {
	display: block;
}

.ttp-co-fields p.form-row,
.ttp-co-fields .form-row {
	margin: 0 0 20px !important;
	padding: 0 !important;
	float: none !important;
	width: 100% !important;
}

.ttp-co-fields label {
	display: block;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #374151 !important;
	margin-bottom: 8px !important;
	letter-spacing: 0.01em;
}

.ttp-co-fields label .required {
	color: #ef4444 !important;
	margin-left: 2px;
}

.ttp-co-fields input[type="text"],
.ttp-co-fields input[type="tel"],
.ttp-co-fields input[type="email"],
.ttp-co-fields select,
.ttp-co-fields textarea {
	width: 100% !important;
	padding: 14px 18px !important;
	border: 2px solid #e2e8f0 !important;
	border-radius: 12px !important;
	font-size: 15px !important;
	color: #1e293b !important;
	background: #f8fafc !important;
	transition: all 0.2s ease !important;
	outline: none !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	font-family: inherit !important;
}

.ttp-co-fields textarea {
	min-height: 110px;
	resize: vertical;
	line-height: 1.6;
}

.ttp-co-fields input:focus,
.ttp-co-fields select:focus,
.ttp-co-fields textarea:focus {
	border-color: #f97316 !important;
	background: #fff !important;
	box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.1) !important;
}

.ttp-co-fields .woocommerce-invalid input,
.ttp-co-fields .woocommerce-invalid textarea {
	border-color: #ef4444 !important;
	box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.12) !important;
}

/* Placeholder color */
.ttp-co-fields input::placeholder,
.ttp-co-fields textarea::placeholder {
	color: #94a3b8 !important;
}

/* Hide WooCommerce's own billing heading since we have our custom header */
.ttp-co-fields h3,
.ttp-co-fields .woocommerce-billing-fields>h3 {
	display: none !important;
}

/* ── Payment Section ─────────────────────────────────────────── */
.ttp-co-card--payment .woocommerce-checkout-payment {
	margin: 0;
}

.ttp-co-card--payment .wc_payment_methods {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ttp-co-card--payment .wc_payment_method {
	border: 2px solid #e2e8f0;
	border-radius: 12px;
	padding: 16px 20px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.ttp-co-card--payment .wc_payment_method:has(input:checked) {
	border-color: #f97316;
	background: #fff7ed;
}

.ttp-co-card--payment .wc_payment_method label {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #1e293b !important;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
}

.ttp-co-card--payment .wc_payment_method input[type="radio"] {
	width: 18px;
	height: 18px;
	accent-color: #f97316;
	flex-shrink: 0;
}

.ttp-co-card--payment .payment_box {
	margin-top: 12px;
	padding: 14px 16px;
	background: #f8fafc;
	border-radius: 10px;
	font-size: 13px;
	color: #64748b;
	line-height: 1.6;
}

/* Place Order Button — Add to Cart button এর মতো Blue (#2563eb) */
.ttp-co-card--payment #place_order,
.ttp-co-card--payment .woocommerce-checkout-payment .button,
#payment #place_order {
	width: 100% !important;
	padding: 18px 28px !important;
	background: #2563eb !important;
	color: #fff !important;
	border: none !important;
	border-radius: 14px !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
	cursor: pointer !important;
	transition: all 0.25s ease !important;
	box-shadow: 0 6px 24px rgba(37, 99, 235, 0.35) !important;
	margin-top: 20px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
}

.ttp-co-card--payment #place_order:hover,
#payment #place_order:hover {
	background: #1d4ed8 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 10px 32px rgba(37, 99, 235, 0.45) !important;
}

.ttp-co-card--payment #place_order:active,
#payment #place_order:active {
	transform: translateY(0) !important;
}

.ttp-co-card--payment #place_order:before,
#payment #place_order:before {
	content: "🛒";
	font-size: 18px;
}

/* ── Order Summary Card (Right) ──────────────────────────────── */
.ttp-co-summary-card {
	background: #fff;
	border-radius: 20px;
	padding: 28px;
	box-shadow: 0 2px 20px rgba(15, 23, 42, 0.06);
	border: 1px solid #e8edf3;
	position: sticky;
	top: 90px;
}

.ttp-co-summary__header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
	padding-bottom: 16px;
	border-bottom: 2px solid #f1f5f9;
	color: #0f172a;
}

.ttp-co-summary__header svg {
	color: #f97316;
	flex-shrink: 0;
}

.ttp-co-summary__header h3 {
	font-size: 1rem !important;
	font-weight: 700 !important;
	margin: 0 !important;
	flex: 1;
	color: #0f172a !important;
}

.ttp-co-summary__count {
	font-size: 12px;
	font-weight: 600;
	color: #fff;
	background: linear-gradient(135deg, #f97316, #ef4444);
	padding: 3px 10px;
	border-radius: 20px;
}

/* ── Review Order Items ──────────────────────────────────────── */
.ttp-co-order-review .shop_table,
.ttp-co-order-review .ttp-review-order-table {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.ttp-co-order-review .ttp-review-item {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 12px 0 !important;
	border-bottom: 1px solid #f1f5f9 !important;
}

.ttp-co-order-review .ttp-review-item__media {
	position: relative;
	flex-shrink: 0;
}

.ttp-co-order-review .ttp-review-item__img {
	width: 60px !important;
	height: 60px !important;
	object-fit: cover !important;
	border-radius: 10px !important;
	border: 1px solid #e2e8f0 !important;
}

.ttp-co-order-review .ttp-review-item__qty-badge {
	position: absolute;
	top: -6px;
	right: -6px;
	width: 20px;
	height: 20px;
	background: #f97316;
	color: #fff;
	border-radius: 50%;
	font-size: 11px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ttp-co-order-review .ttp-review-item__info {
	flex: 1;
}

.ttp-co-order-review .ttp-review-item__name {
	display: block;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: #1e293b !important;
	line-height: 1.4;
	margin-bottom: 4px;
}

.ttp-co-order-review .ttp-review-item__total {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #ef4444 !important;
	text-align: right;
	flex-shrink: 0;
}

/* Totals */
.ttp-co-order-review .ttp-review-totals {
	margin-top: 16px;
}

.ttp-co-order-review .ttp-review-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
	font-size: 13.5px;
	border-bottom: 1px solid #f1f5f9;
}

.ttp-co-order-review .ttp-review-row:last-child {
	border-bottom: none;
	padding-top: 14px;
}

.ttp-co-order-review .ttp-review-row__label {
	color: #64748b;
	font-weight: 500;
}

.ttp-co-order-review .ttp-review-row__value {
	font-weight: 600;
	color: #1e293b;
}

.ttp-co-order-review .order-total {
	margin-top: 4px;
	background: linear-gradient(135deg, #fff7ed, #ffedd5);
	border-radius: 12px;
	padding: 14px 16px !important;
	border: 1px solid #fed7aa;
	border-bottom: 1px solid #fed7aa !important;
}

.ttp-co-order-review .order-total .ttp-review-row__label {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #92400e !important;
}

.ttp-co-order-review .order-total .ttp-review-row__value {
	font-size: 18px !important;
	font-weight: 800 !important;
	color: #f97316 !important;
}

/* ── Trust Badges ────────────────────────────────────────────── */
.ttp-co-trust {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid #f1f5f9;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ttp-co-trust__item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12.5px;
	color: #64748b;
	font-weight: 500;
}

.ttp-co-trust__item svg {
	color: #22c55e;
	flex-shrink: 0;
}

/* ── Coupon Form ─────────────────────────────────────────────── */
.ttp-co-wrap .woocommerce-form-coupon-toggle,
.ttp-co-wrap .checkout_coupon {
	background: #fff;
	border-radius: 14px;
	border: 1px dashed #e2e8f0;
	padding: 16px 20px;
	margin-bottom: 20px;
	font-size: 14px;
}

/* Hide WC default notices wrapper at top of checkout */
.ttp-co-wrap .woocommerce-NoticeGroup-checkout {
	margin-bottom: 16px;
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 960px) {
	.ttp-co-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.ttp-co-summary-card {
		position: static;
		order: -1;
	}
}

@media (max-width: 640px) {
	.ttp-co-wrap {
		padding: 20px 14px 60px;
	}

	.ttp-co-card {
		padding: 22px 18px;
	}

	.ttp-co-steps {
		gap: 0;
	}

	.ttp-co-step__line {
		max-width: 60px;
	}
}