:root {
	--tdg-shop-page-bg: #05070b;
	--tdg-shop-panel-bg: rgba(10, 14, 20, 0.74);
	--tdg-shop-panel-border: rgba(255, 255, 255, 0.08);
	--tdg-shop-text: #f4efe7;
	--tdg-shop-muted: rgba(244, 239, 231, 0.68);
	--tdg-shop-shadow: 0 28px 80px rgba(0, 0, 0, 0.42);
	--tdg-shop-accent: #f0c57a;
	--tdg-shop-accent-deep: #c8a05e;
	--tdg-shop-preview-motion-duration: 320ms;
	--tdg-shop-preview-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--tdg-shop-filter-gutter: clamp(1rem, 2vw, 1.75rem);
	--tdg-shop-header-offset: 0px;
	--tdg-shop-filter-panel-top: calc(var(--tdg-shop-header-offset) + var(--tdg-shop-filter-gutter));
}

html,
body,
.woocommerce,
.woocommerce-shop,
.post-type-archive-product,
.tax-product_cat,
.tax-product_tag {
	width: 100%;
	min-height: 100%;
	background: var(--tdg-shop-page-bg);
}

body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag,
body.woocommerce-shop {
	background:
		radial-gradient(circle at top left, rgba(180, 140, 92, 0.18), transparent 34%),
		radial-gradient(circle at bottom right, rgba(40, 73, 105, 0.18), transparent 32%),
		var(--tdg-shop-page-bg);
	color: var(--tdg-shop-text);
	overflow-x: hidden;
}

body.post-type-archive-product #page,
body.tax-product_cat #page,
body.tax-product_tag #page,
body.woocommerce-shop #page {
	min-height: 90vh;
}

body.post-type-archive-product main,
body.tax-product_cat main,
body.tax-product_tag main,
body.woocommerce-shop main,
body.post-type-archive-product .content-area,
body.tax-product_cat .content-area,
body.tax-product_tag .content-area,
body.woocommerce-shop .content-area,
body.post-type-archive-product .site-main,
body.tax-product_cat .site-main,
body.tax-product_tag .site-main,
body.woocommerce-shop .site-main,
body.post-type-archive-product .woocommerce,
body.tax-product_cat .woocommerce,
body.tax-product_tag .woocommerce,
body.woocommerce-shop .woocommerce {
	min-height: 90vh;
}

.woocommerce-shop .woocommerce-notices-wrapper,
.post-type-archive-product .woocommerce-notices-wrapper,
.tax-product_cat .woocommerce-notices-wrapper,
.tax-product_tag .woocommerce-notices-wrapper {
	display: none !important;
}

.tdg-shop-shell {
	position: relative;
	z-index: 0;
	min-height: 90vh;
	padding: clamp(1rem, 2vw, 1.75rem);
	color: var(--tdg-shop-text);
}

.tdg-shop-shell::after {
	content: "";
	position: fixed;
	z-index: -1;
	inset: 0;
	pointer-events: none;
	background-color: var(--tdg-shop-page-bg);
	background-image: url("../images/shop-page-background.webp");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.tdg-shop-shell::before {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(4, 6, 10, 0.14), rgba(4, 6, 10, 0.42)),
		linear-gradient(90deg, rgba(7, 10, 14, 0.08), rgba(7, 10, 14, 0) 32%, rgba(7, 10, 14, 0.38));
}

.tdg-shop-shell__glow {
	position: fixed;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 14% 8%, rgba(240, 197, 122, 0.12), transparent 24%),
		radial-gradient(circle at 86% 92%, rgba(87, 133, 179, 0.12), transparent 22%);
}

.tdg-shop-grid {
	display: grid;
	grid-template-columns: minmax(18rem, 20rem) minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
	width: min(96rem, calc(100vw - 2 * clamp(1rem, 2vw, 1.75rem)));
	margin: 0 auto;
}

.tdg-shop-grid--single {
	grid-template-columns: minmax(0, 1fr);
}

.tdg-shop-grid--spaced {
	margin-top: 1rem;
}

.tdg-shop-visual,
.tdg-shop-panel {
	position: relative;
	z-index: 1;
	border-radius: 32px;
	border: 1px solid var(--tdg-shop-panel-border);
	background: var(--tdg-shop-panel-bg);
	box-shadow: var(--tdg-shop-shadow);
	backdrop-filter: blur(18px);
}

.tdg-shop-visual {
	display: none !important;
}

.tdg-shop-visual {
	display: grid;
	gap: 0.85rem;
	align-content: start;
	padding: 1rem;
	min-height: calc(90vh - 3.5rem);
}

.tdg-shop-visual__media {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 20rem;
	border-radius: 32px;
	overflow: hidden;
	background:
		radial-gradient(circle at 50% 20%, rgba(236, 210, 162, 0.12), transparent 42%),
		rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.06),
		0 18px 44px rgba(0, 0, 0, 0.22);
}

.tdg-shop-preview__media {
	position: relative;
	overflow: hidden;
	border-radius: 22px;
	background:
		radial-gradient(circle at 50% 30%, rgba(200, 160, 94, 0.18), transparent 55%),
		rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.tdg-shop-visual__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	filter: saturate(0.98) contrast(1.02) brightness(0.92);
	transform: scale(1.02);
}

.tdg-shop-visual__veil {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(7, 10, 12, 0.12), rgba(7, 10, 12, 0.26)),
		linear-gradient(90deg, rgba(5, 8, 12, 0.2), transparent 34%, transparent 72%, rgba(5, 8, 12, 0.18));
}

.tdg-shop-preview__content {
	display: grid;
	gap: 1rem;
	padding: 0.25rem 0.15rem 0.2rem;
}

.tdg-shop-preview__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
	gap: 1rem;
	align-items: start;
}

.tdg-shop-preview__media-column {
	display: grid;
	gap: 0.65rem;
	min-width: 0;
}

.tdg-shop-preview__info-column {
	display: grid;
	gap: 0.6rem;
	min-width: 0;
}

.tdg-shop-preview__gallery-wrap {
	display: grid;
	gap: 0.6rem;
	padding: 0.1rem 0.1rem 0.2rem;
}

.tdg-shop-preview__gallery-label {
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(236, 210, 162, 0.86);
}

.tdg-shop-preview__gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(4.35rem, 1fr));
	gap: 0.55rem;
}

.tdg-shop-preview__empty,
.tdg-shop-preview__body {
	display: grid;
	gap: 0.75rem;
}

.tdg-shop-preview__body {
	align-content: start;
}

.tdg-shop-preview__meta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem;
}

.tdg-shop-preview__categories {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	flex: 1 1 auto;
	min-width: 0;
}

.tdg-shop-preview__category,
.tdg-shop-card__category-tag {
	display: inline-flex;
	align-items: center;
	min-height: 2.2rem;
	padding: 0.3rem 0.72rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	color: rgba(255, 245, 230, 0.95);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border: 1px solid rgba(255, 255, 255, 0.08);
	text-decoration: none;
	cursor: pointer;
}

.tdg-shop-preview__category:hover,
.tdg-shop-preview__category:focus-visible,
.tdg-shop-card__category-tag:hover,
.tdg-shop-card__category-tag:focus-visible {
	border-color: rgba(240, 197, 122, 0.58);
	box-shadow: 0 12px 22px rgba(0, 0, 0, 0.2);
	transform: translateY(-1px);
}

.tdg-shop-card__category-tag {
	cursor: pointer;
}

.tdg-shop-preview__quantity-row {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	flex-wrap: wrap;
}

.tdg-shop-preview__quantity {
	width: 4.8rem;
	min-height: 2.75rem;
	padding: 0.55rem 0.4rem;
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.06);
	color: var(--tdg-shop-text);
	text-align: center;
	font: inherit;
	font-weight: 700;
}

.tdg-shop-preview__quantity::-webkit-outer-spin-button,
.tdg-shop-preview__quantity::-webkit-inner-spin-button {
	appearance: none;
}

.tdg-shop-preview__quantity[type='number'] {
	appearance: textfield;
}

.tdg-shop-preview__quantity-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.06);
	color: var(--tdg-shop-text);
	font-size: 1.1rem;
	font-weight: 700;
	cursor: pointer;
}

.tdg-shop-preview__quantity-button:hover,
.tdg-shop-preview__quantity-button:focus-visible {
	border-color: rgba(240, 197, 122, 0.58);
	box-shadow: 0 12px 22px rgba(0, 0, 0, 0.2);
}

.tdg-shop-preview__description-panel {
	display: grid;
	gap: 0.55rem;
	padding: 0.95rem 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.tdg-product-detail-tabs {
	display: grid;
	gap: 0;
	min-width: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.tdg-product-detail-tabs[hidden] {
	display: none !important;
}

.tdg-product-detail-tabs__item {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.tdg-product-detail-tabs__item:last-child {
	border-bottom: 0;
}

.tdg-product-detail-tabs__heading {
	margin: 0;
	font-size: 1rem;
	line-height: 1.2;
}

.tdg-product-detail-tabs__button {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.75rem;
	width: 100%;
	min-height: 3.55rem;
	padding: 0.9rem 0.05rem;
	border: 0;
	background: transparent;
	color: rgba(255, 245, 230, 0.96);
	font: inherit;
	font-weight: 800;
	text-align: left;
	cursor: pointer;
}

.tdg-product-detail-tabs__button:hover,
.tdg-product-detail-tabs__button:focus-visible {
	color: #fff5e0;
	outline: none;
}

.tdg-product-detail-tabs__button:focus-visible .tdg-product-detail-tabs__title {
	text-decoration: underline;
	text-underline-offset: 0.22em;
}

.tdg-product-detail-tabs__icon {
	position: relative;
	width: 1.05rem;
	height: 1.05rem;
	color: var(--tdg-shop-accent);
}

.tdg-product-detail-tabs__icon::before,
.tdg-product-detail-tabs__icon::after {
	content: "";
	position: absolute;
	border: 1.6px solid currentColor;
	border-radius: 999px;
}

.tdg-product-detail-tabs__icon::before {
	inset: 0.12rem auto auto 0.12rem;
	width: 0.38rem;
	height: 0.38rem;
	box-shadow: 0.43rem 0.47rem 0 0 currentColor;
}

.tdg-product-detail-tabs__icon::after {
	right: 0.08rem;
	bottom: 0.08rem;
	width: 0.32rem;
	height: 0.32rem;
}

.tdg-product-detail-tabs__title {
	min-width: 0;
	overflow-wrap: anywhere;
}

.tdg-product-detail-tabs__chevron {
	width: 0.7rem;
	height: 0.7rem;
	border-right: 2px solid var(--tdg-shop-accent);
	border-bottom: 2px solid var(--tdg-shop-accent);
	transform: rotate(45deg);
	transition: transform 160ms ease;
}

.tdg-product-detail-tabs__item.is-open .tdg-product-detail-tabs__chevron {
	transform: rotate(225deg);
}

.tdg-product-detail-tabs__panel[hidden] {
	display: none !important;
}

.tdg-product-detail-tabs__content {
	padding: 0.05rem 0.05rem 1rem;
	color: rgba(244, 239, 231, 0.84);
	font-size: 0.98rem;
	line-height: 1.75;
}

.tdg-product-detail-tabs__content p {
	margin: 0 0 0.45rem;
}

.tdg-product-detail-tabs__content p:last-child,
.tdg-product-detail-tabs__content ul:last-child,
.tdg-product-detail-tabs__content ol:last-child {
	margin-bottom: 0;
}

.tdg-product-detail-tabs__content a {
	color: #ffe5b0;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.tdg-product-detail-tabs__content ul,
.tdg-product-detail-tabs__content ol {
	margin: 0.45rem 0;
	padding-left: 1.25rem;
}

.tdg-shop-visual__content {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 0.2rem 0.15rem 0;
	border-radius: 32px;
}

.tdg-shop-visual__eyebrow,
.tdg-shop-panel__eyebrow,
.tdg-shop-section__eyebrow {
	font-size: 0.75rem;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: rgba(236, 210, 162, 0.84);
}

.tdg-shop-visual__title,
.tdg-shop-panel__title {
	font-size: clamp(1.8rem, 2vw, 3rem);
	line-height: 0.98;
	color: #fff5e0;
	letter-spacing: -0.03em;
}

.tdg-shop-visual__description {
	font-size: 1rem;
	line-height: 1.75;
	color: rgba(242, 237, 230, 0.8);
}

.tdg-shop-preview__badge {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 0.38rem 0.7rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	color: rgba(255, 245, 230, 0.95);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tdg-shop-preview__badge--sale {
	background: rgba(240, 197, 122, 0.2);
	color: #ffe5b0;
}

.tdg-shop-preview__badge--success {
	background: rgba(50, 180, 112, 0.16);
	color: #b9f6cf;
}

.tdg-shop-preview__badge--muted {
	background: rgba(255, 255, 255, 0.05);
	color: rgba(236, 210, 162, 0.72);
}

.tdg-shop-preview__price {
	font-size: clamp(1.2rem, 1.6vw, 1.6rem);
	font-weight: 800;
	line-height: 1.25;
	color: var(--tdg-shop-accent);
}

.tdg-shop-preview__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.tdg-shop-preview__actions .tdg-shop-button {
	min-width: 9rem;
}

.tdg-shop-preview__note {
	font-size: 0.82rem;
	line-height: 1.6;
	color: var(--tdg-shop-muted);
	font-style: italic;
}

.tdg-shop-preview__note--bottom {
	padding-top: 0.35rem;
}

.tdg-shop-preview__gallery-thumb {
	width: 4.35rem;
	height: 4.35rem;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.05);
	overflow: hidden;
	cursor: pointer;
	transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.tdg-shop-preview__gallery-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tdg-shop-preview__gallery-thumb.is-active {
	border-color: rgba(240, 197, 122, 0.84);
	box-shadow:
		0 12px 24px rgba(0, 0, 0, 0.24),
		0 0 0 1px rgba(240, 197, 122, 0.24);
	transform: translateY(-1px);
}

.tdg-shop-preview__gallery-thumb:hover,
.tdg-shop-preview__gallery-thumb:focus-visible {
	transform: translateY(-1px);
	border-color: rgba(240, 197, 122, 0.58);
	box-shadow: 0 12px 22px rgba(0, 0, 0, 0.2);
}

[data-preview-state="empty"] .tdg-shop-preview__body {
	display: none;
}

[data-preview-state="selected"] .tdg-shop-preview__empty {
	display: none;
}

[data-preview-state="empty"] .tdg-shop-preview__empty {
	display: grid;
}

.tdg-shop-button,
.tdg-shop-chip,
.tdg-shop-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	font: inherit;
	border: 0;
	cursor: pointer;
	transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, color 160ms ease, border-color 160ms ease;
}

.tdg-shop-button {
	min-height: 3.25rem;
	padding: 0.85rem 1.1rem;
	border-radius: 999px;
	font-size: 0.98rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.tdg-shop-button--primary {
	background: linear-gradient(180deg, rgba(236, 210, 162, 0.98), rgba(200, 160, 94, 0.96));
	color: #2d1d0a;
}

.tdg-shop-button--secondary {
	background: rgba(255, 255, 255, 0.06);
	color: rgba(255, 245, 230, 0.96);
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.tdg-shop-button:hover,
.tdg-shop-button:focus-visible,
.tdg-shop-chip:hover,
.tdg-shop-chip:focus-visible,
.tdg-shop-card__button:hover,
.tdg-shop-card__button:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 16px 30px rgba(0, 0, 0, 0.22);
}

.tdg-shop-status {
	min-height: 1.4rem;
	color: rgba(158, 206, 255, 0.84);
	line-height: 1.5;
}

.tdg-shop-visual__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	margin-top: auto;
}

.tdg-shop-stat {
	padding: 0.8rem 0.9rem;
	border-radius: 18px;
	background: rgba(6, 8, 12, 0.28);
	border: 1px solid rgba(255, 255, 255, 0.06);
	min-width: 0;
}

.tdg-shop-stat__label {
	display: block;
	margin-bottom: 0.3rem;
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--tdg-shop-muted);
}

.tdg-shop-stat__value {
	display: block;
	font-size: 1rem;
	line-height: 1.25;
	color: var(--tdg-shop-text);
}

.tdg-shop-panel {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: clamp(1rem, 2vw, 1.3rem);
	min-height: auto;
	max-height: none;
	overflow: visible;
}

.tdg-shop-panel--filters {
	align-self: start;
	position: sticky;
	top: var(--tdg-shop-filter-panel-top);
	max-height: calc(100dvh - var(--tdg-shop-filter-panel-top));
	overflow: visible;
}

.tdg-shop-panel--filters > .tdg-shop-panel__workspace {
	overflow: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: rgba(240, 197, 122, 0.68) rgba(255, 255, 255, 0.05);
}

.tdg-shop-panel--filters > .tdg-shop-panel__workspace::-webkit-scrollbar {
	width: 0.55rem;
}

.tdg-shop-panel--filters > .tdg-shop-panel__workspace::-webkit-scrollbar-track {
	background: rgba(255, 255, 255, 0.05);
	border-radius: 999px;
}

.tdg-shop-panel--filters > .tdg-shop-panel__workspace::-webkit-scrollbar-thumb {
	border-radius: 999px;
	border: 0.14rem solid rgba(10, 14, 20, 0.9);
	background: linear-gradient(180deg, rgba(240, 197, 122, 0.9), rgba(200, 160, 94, 0.78));
}

.tdg-shop-panel__workspace {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
	align-items: stretch;
	min-height: 0;
	flex: 1 1 auto;
}

.tdg-shop-sidebar {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	min-width: 0;
	padding: 0.2rem 0.1rem 0.2rem 0;
	position: static;
	align-self: stretch;
	overflow: visible;
}

.tdg-shop-sidebar__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0 0.1rem 0.15rem 0;
}

.tdg-shop-sidebar__eyebrow {
	margin: 0 0 0.2rem;
	font-size: 0.75rem;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: rgba(236, 210, 162, 0.84);
}

.tdg-shop-sidebar__tab {
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0.75rem;
	padding: 0.8rem 0.95rem;
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.05);
	color: rgba(244, 239, 231, 0.74);
	text-align: left;
	text-decoration: none;
	overflow: visible;
}

.tdg-shop-sidebar__tab:hover,
.tdg-shop-sidebar__tab:focus-visible {
	border-color: rgba(240, 197, 122, 0.48);
	box-shadow: 0 14px 24px rgba(0, 0, 0, 0.18);
	transform: translateY(-1px);
}

.tdg-shop-sidebar__tab.is-active {
	background: linear-gradient(180deg, rgba(236, 210, 162, 0.98), rgba(200, 160, 94, 0.96));
	color: #2d1d0a;
	border-color: transparent;
	box-shadow:
		0 18px 34px rgba(0, 0, 0, 0.22),
		0 0 0 1px rgba(240, 197, 122, 0.12);
	z-index: 2;
}

.tdg-shop-sidebar__tab.is-active::after {
	opacity: 1;
}

.tdg-shop-sidebar__label {
	font-size: 0.88rem;
	line-height: 1.2;
	font-weight: 700;
}

.tdg-shop-filter-panel__inner {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
	min-width: 0;
}

.tdg-shop-filter-panel__sort {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem;
}

.tdg-shop-filter-panel__sort-label {
	flex: 0 0 auto;
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(236, 210, 162, 0.84);
	white-space: nowrap;
}

.tdg-shop-filter-panel__sort-select {
	flex: 0 1 14rem;
	min-height: 2.8rem;
	padding: 0.55rem 0.9rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.06);
	color: var(--tdg-shop-text);
	font: inherit;
}

.tdg-shop-filter-panel__sort-select option {
	color: #1b1b1b;
}

.tdg-shop-toolbar__ordering {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem;
	align-content: start;
}

.tdg-shop-toolbar__ordering.tdg-shop-filter-panel__sort {
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.65rem;
}

.tdg-shop-toolbar__ordering .tdg-shop-filter-panel__sort-row {
	width: auto;
	flex: 0 0 auto;
}

.tdg-shop-toolbar__ordering .tdg-shop-filter-panel__sort-select {
	min-width: 11rem;
	flex: 0 0 12rem;
}

.tdg-shop-filter-panel__empty {
	padding: 0.65rem 0.1rem 0;
	color: var(--tdg-shop-muted);
	font-size: 0.92rem;
}

.tdg-shop-panel__content {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	min-width: 0;
	min-height: auto;
	height: auto;
}

.tdg-shop-panel__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
}

.tdg-shop-panel__category-trigger {
	display: none;
}

.tdg-shop-panel__eyebrow {
	line-height: 1.15;
}

.tdg-shop-panel__head-copy {
	flex: 1 1 auto;
	display: grid;
	gap: 0.35rem;
	width: 100%;
	min-width: 0;
}

.tdg-shop-panel__eyebrow-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0.55rem;
	width: 100%;
	min-width: 0;
}

.tdg-shop-panel__summary {
	font-size: 0.84rem;
	line-height: 1.45;
	color: var(--tdg-shop-muted);
}

.tdg-shop-panel__reset,
.tdg-shop-filter-panel__reset {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.2rem;
	min-width: 2.2rem;
	padding: 0.38rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.06);
	color: rgba(255, 245, 230, 0.95);
	font: inherit;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease, color 160ms ease;
}

.tdg-shop-filter-panel__reset-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.05rem;
	height: 1.05rem;
	color: currentColor;
}

.tdg-shop-filter-panel__reset-icon svg {
	width: 100%;
	height: 100%;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	fill: none;
}

.tdg-shop-panel__reset:hover,
.tdg-shop-panel__reset:focus-visible,
.tdg-shop-filter-panel__reset:hover,
.tdg-shop-filter-panel__reset:focus-visible {
	transform: translateY(-1px);
	border-color: rgba(240, 197, 122, 0.58);
	box-shadow: 0 14px 22px rgba(0, 0, 0, 0.18);
	background: rgba(255, 255, 255, 0.08);
}

.tdg-shop-filter-panel__reset-row {
	display: flex;
	align-items: center;
	gap: 0.55rem;
}

.tdg-shop-panel__description {
	margin: 0.45rem 0 0;
	font-size: 0.98rem;
	line-height: 1.65;
	color: var(--tdg-shop-muted);
}

.tdg-shop-panel__tools {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	justify-content: flex-end;
}

.tdg-shop-panel__body {
	flex: 1 1 auto;
	min-width: 0;
	min-height: auto;
	overflow: visible;
	overflow-x: hidden;
}

.tdg-shop-panel__footer {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	gap: 0.25rem;
	padding-top: 0.35rem;
}

.tdg-shop-chips {
	display: flex;
	gap: 0.6rem;
	padding: 0.15rem 0 0;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
}

.tdg-shop-chips::-webkit-scrollbar {
	display: none;
}

.tdg-shop-chip {
	flex: 0 0 auto;
	scroll-snap-align: start;
	min-height: 2.65rem;
	padding: 0.7rem 1rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.07);
	color: rgba(255, 245, 230, 0.94);
	font-size: 0.95rem;
	font-weight: 700;
}

.tdg-shop-chip.is-active {
	background: linear-gradient(180deg, rgba(236, 210, 162, 0.98), rgba(200, 160, 94, 0.96));
	color: #2d1d0a;
	border-color: transparent;
}

.tdg-shop-filter {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 0.45rem;
	align-items: center;
}

.tdg-shop-filter__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.55rem;
	height: 2.55rem;
	padding: 0;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.06);
	color: rgba(255, 245, 230, 0.96);
	font-size: 1.35rem;
	font-weight: 700;
	cursor: pointer;
	transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;
}

.tdg-shop-filter__arrow:hover,
.tdg-shop-filter__arrow:focus-visible {
	transform: translateY(-1px);
	border-color: rgba(240, 197, 122, 0.58);
	box-shadow: 0 16px 26px rgba(0, 0, 0, 0.22);
}

.tdg-shop-panel.is-disabled .tdg-shop-filter {
	cursor: not-allowed;
}

.tdg-shop-panel.is-disabled .tdg-shop-chip,
.tdg-shop-panel.is-disabled .tdg-shop-filter__arrow {
	pointer-events: none;
}

.tdg-shop-panel.is-disabled .tdg-shop-filter,
.tdg-shop-panel.is-disabled .tdg-shop-panel__body {
	filter: saturate(0.8);
}

.tdg-shop-panel__body {
	position: relative;
}

.tdg-shop-panel__load-more {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 2.35rem;
}

.tdg-shop-panel__load-more-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.09);
	background: rgba(10, 14, 20, 0.78);
	color: var(--tdg-shop-accent);
	box-shadow:
		0 12px 28px rgba(0, 0, 0, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.04);
	opacity: 0;
	transform: scale(0.92);
	transition: opacity 180ms ease, transform 180ms ease;
	pointer-events: none;
}

.tdg-shop-panel__load-more-icon svg {
	width: 1.05rem;
	height: 1.05rem;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	transform-origin: 50% 50%;
}

.tdg-shop-panel__body.is-loading-more + .tdg-shop-panel__footer .tdg-shop-panel__load-more .tdg-shop-panel__load-more-icon {
	opacity: 1;
	transform: scale(1);
}

.tdg-shop-panel__body.is-loading-more + .tdg-shop-panel__footer .tdg-shop-panel__load-more .tdg-shop-panel__load-more-icon svg {
	animation: tdg-shop-sync-spin 0.95s linear infinite;
}

.tdg-shop-panel__body.is-disabled {
	cursor: not-allowed;
}

.tdg-shop-panel__body.is-loading-more {
	cursor: progress;
}

@keyframes tdg-shop-sync-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.tdg-shop-panel__body.is-loading-more + .tdg-shop-panel__footer .tdg-shop-panel__load-more .tdg-shop-panel__load-more-icon svg {
		animation: none;
	}
}

.tdg-shop-panel__lock {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: grid;
	place-items: center;
	padding: 1rem;
	border-radius: 24px;
	background: rgba(4, 6, 10, 0.34);
	backdrop-filter: blur(2px);
	color: var(--tdg-shop-text);
	text-align: center;
	font-weight: 700;
	letter-spacing: 0.02em;
	pointer-events: auto;
}

.tdg-shop-panel__lock span {
	padding: 0.7rem 1rem;
	border-radius: 999px;
	background: rgba(10, 14, 20, 0.72);
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.24);
}

.tdg-shop-toolbar__count,
.tdg-shop-toolbar__ordering .woocommerce-ordering {
}

.tdg-shop-search {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.55rem;
	width: 100%;
	min-width: 0;
}

.tdg-shop-search__input {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 2.8rem;
	padding: 0.55rem 0.95rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.06);
	color: var(--tdg-shop-text);
	font: inherit;
	transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.tdg-shop-search__input::placeholder {
	color: rgba(244, 239, 231, 0.48);
}

.tdg-shop-search__input:hover,
.tdg-shop-search__input:focus-visible {
	border-color: rgba(240, 197, 122, 0.58);
	background: rgba(255, 255, 255, 0.08);
	box-shadow: 0 16px 26px rgba(0, 0, 0, 0.18);
}

.tdg-shop-search__button {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.8rem;
	min-width: 2.8rem;
	padding: 0.55rem;
	border-radius: 999px;
	border: 1px solid transparent;
	background: linear-gradient(180deg, rgba(236, 210, 162, 0.98), rgba(200, 160, 94, 0.96));
	color: #2d1d0a;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
	transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}

.tdg-shop-search__button-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.05rem;
	height: 1.05rem;
}

.tdg-shop-search__button-icon svg {
	width: 100%;
	height: 100%;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	fill: none;
}

.tdg-shop-search__button:hover,
.tdg-shop-search__button:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 16px 26px rgba(0, 0, 0, 0.22);
	filter: brightness(1.02);
}

.tdg-shop-toolbar__count {
	display: block;
	color: var(--tdg-shop-muted);
	font-size: 0.92rem;
	line-height: 1.15;
	text-align: left;
}

.tdg-shop-toolbar__ordering select {
	min-height: 2.8rem;
	padding: 0.55rem 0.9rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.06);
	color: var(--tdg-shop-text);
	font: inherit;
}

.tdg-shop-toolbar__ordering option {
	color: #1b1b1b;
}

.tdg-shop-products-grid,
.tdg-shop-panel .products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-flow: row;
	justify-content: stretch;
	align-content: start;
	gap: 0.85rem;
	padding: 0;
	list-style: none;
}

body.woocommerce .tdg-shop-panel ul.products::before,
body.woocommerce .tdg-shop-panel ul.products::after,
body.woocommerce .tdg-shop-panel ul.products.tdg-shop-products-grid::before,
body.woocommerce .tdg-shop-panel ul.products.tdg-shop-products-grid::after {
	display: none !important;
	content: none !important;
}

.tdg-shop-products-grid > li.product,
.tdg-shop-panel .products > li.product {
	float: none;
	clear: none;
	width: auto;
}

.tdg-shop-panel .products::before,
.tdg-shop-panel .products::after {
	display: none;
	content: none;
}

.tdg-shop-card {
}

.tdg-shop-card__inner {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto minmax(0, 1fr);
	height: 100%;
	min-height: 100%;
	border-radius: 24px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)),
		linear-gradient(135deg, rgba(200, 160, 94, 0.08), transparent 42%);
	box-shadow:
		0 18px 36px rgba(0, 0, 0, 0.24),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);
	overflow: hidden;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.tdg-shop-card.is-preview-active .tdg-shop-card__inner {
	border-color: rgba(240, 197, 122, 0.66);
	box-shadow:
		0 22px 44px rgba(0, 0, 0, 0.3),
		0 0 0 1px rgba(240, 197, 122, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
	transform: translateY(-1px);
}

.tdg-shop-card__media {
	position: relative;
	min-height: 0;
	background:
		radial-gradient(circle at 50% 30%, rgba(200, 160, 94, 0.18), transparent 55%),
		rgba(255, 255, 255, 0.03);
	overflow: hidden;
}

.tdg-shop-card__media-link {
	display: block;
	width: 100%;
	height: 100%;
}

.tdg-shop-card__media img,
.tdg-shop-card__media .tdg-cart-product-image,
.tdg-shop-card__media .tdg-shop-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tdg-shop-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	padding: 0.9rem 0.95rem 0.95rem;
	min-width: 0;
	min-height: 0;
}

.tdg-shop-card__meta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem;
}

.tdg-shop-card__meta {
	flex: 0 0 auto;
}

.tdg-shop-card__categories {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	min-width: 0;
}

.tdg-shop-card__categories a {
	color: inherit;
	text-decoration: none;
}

.tdg-shop-card__badge,
.tdg-shop-card__category-tag {
	display: inline-flex;
	align-items: center;
	min-height: 2.2rem;
	padding: 0.3rem 0.72rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	color: rgba(255, 245, 230, 0.95);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border: 1px solid rgba(255, 255, 255, 0.08);
	text-decoration: none;
}

.tdg-shop-card__badge {
	flex: 0 0 auto;
}

.tdg-shop-card__badge--success {
	background: rgba(50, 180, 112, 0.16);
	color: #b9f6cf;
}

.tdg-shop-card__badge--muted {
	background: rgba(255, 255, 255, 0.045);
	color: rgba(236, 210, 162, 0.72);
}

.tdg-shop-card__title {
	font-size: 1rem;
	line-height: 1.28;
	color: #fff5e0;
	overflow-wrap: anywhere;
}

.tdg-shop-card__title a {
	color: inherit;
	text-decoration: none;
}

.tdg-shop-card__price {
	font-size: 1rem;
	font-weight: 700;
	color: rgba(236, 210, 162, 0.96);
}

.tdg-shop-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: auto;
}

.tdg-shop-card__button {
	flex: 1 1 0;
	min-width: 0;
	min-height: 2.65rem;
	padding: 0.68rem 0.85rem;
	border-radius: 12px;
	font-size: 0.88rem;
	font-weight: 700;
	text-align: center;
}

.tdg-shop-card__button--primary {
	background: linear-gradient(180deg, rgba(236, 210, 162, 0.98), rgba(200, 160, 94, 0.96));
	color: #2d1d0a;
	width: 100%;
}

.tdg-shop-card__button--secondary {
	background: rgba(255, 255, 255, 0.06);
	color: rgba(255, 245, 230, 0.96);
	border: 1px solid rgba(255, 255, 255, 0.08);
}

@media (min-width: 721px) {
	.tdg-shop-card__button--secondary {
		display: none;
	}
}

.tdg-shop-card .added_to_cart {
	display: none !important;
}

.tdg-shop-card[data-shop-preview-trigger="true"] {
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
}

.tdg-shop-card:focus-visible .tdg-shop-card__inner,
.tdg-shop-card:hover .tdg-shop-card__inner {
	border-color: rgba(240, 197, 122, 0.42);
	box-shadow:
		0 22px 42px rgba(0, 0, 0, 0.28),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
	transform: translateY(-1px);
}

.tdg-shop-card:focus-visible {
	outline: none;
}

.tdg-shop-preview-modal {
	position: fixed;
	inset: 0;
	z-index: 1200;
	display: grid;
	place-items: center;
	padding: clamp(1rem, 3vw, 2.25rem);
}

.tdg-shop-preview-modal[hidden] {
	display: none !important;
}

.tdg-shop-preview-modal__backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	padding: 0;
	background:
		radial-gradient(circle at 50% 24%, rgba(240, 197, 122, 0.14), transparent 26%),
		rgba(1, 3, 6, 0.62);
	backdrop-filter: blur(14px);
	cursor: pointer;
	opacity: 0;
	transition: opacity var(--tdg-shop-preview-motion-duration) ease;
	will-change: opacity;
}

.tdg-shop-preview-modal__panel {
	position: relative;
	z-index: 1;
	width: min(100%, 78rem);
	max-height: min(90vh, 60rem);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 28px;
	background:
		linear-gradient(180deg, rgba(10, 14, 20, 0.98), rgba(10, 14, 20, 0.94)),
		radial-gradient(circle at top center, rgba(240, 197, 122, 0.08), transparent 42%);
	box-shadow: 0 32px 120px rgba(0, 0, 0, 0.52);
	backdrop-filter: blur(18px);
	opacity: 0;
	transform: translateY(22px) scale(0.975);
	transition:
		opacity var(--tdg-shop-preview-motion-duration) ease,
		transform var(--tdg-shop-preview-motion-duration) var(--tdg-shop-preview-motion-ease);
	will-change: opacity, transform;
}

.tdg-shop-preview-modal[data-preview-motion-state='open'] .tdg-shop-preview-modal__backdrop {
	opacity: 1;
}

.tdg-shop-preview-modal[data-preview-motion-state='open'] .tdg-shop-preview-modal__panel {
	opacity: 1;
	transform: translateY(0) scale(1);
}

body.is-shop-preview-modal-open {
	overflow: hidden;
}

.tdg-shop-preview-modal__header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 3;
	display: flex;
	justify-content: flex-end;
	padding: 1rem 1rem 0;
	pointer-events: none;
}

.tdg-shop-preview-modal__handle {
	display: none;
}

.tdg-shop-preview-modal__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.06);
	color: rgba(255, 245, 230, 0.96);
	font: inherit;
	font-size: 1.5rem;
	font-weight: 700;
	cursor: pointer;
	pointer-events: auto;
	transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;
}

.tdg-shop-preview-modal__close:hover,
.tdg-shop-preview-modal__close:focus-visible {
	transform: translateY(-1px);
	border-color: rgba(240, 197, 122, 0.58);
	box-shadow: 0 14px 22px rgba(0, 0, 0, 0.18);
}

.tdg-shop-preview-modal .tdg-shop-preview__content {
	max-height: min(90vh, 60rem);
	padding: 1.25rem 1.35rem 1.35rem;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: rgba(240, 197, 122, 0.78) rgba(255, 255, 255, 0.06);
}

.tdg-shop-preview-modal .tdg-shop-preview__content::-webkit-scrollbar {
	width: 0.68rem;
}

.tdg-shop-preview-modal .tdg-shop-preview__content::-webkit-scrollbar-track {
	background: rgba(255, 255, 255, 0.06);
	border-radius: 999px;
}

.tdg-shop-preview-modal .tdg-shop-preview__content::-webkit-scrollbar-thumb {
	border-radius: 999px;
	border: 0.16rem solid rgba(10, 14, 20, 0.92);
	background: linear-gradient(180deg, rgba(240, 197, 122, 0.96), rgba(200, 160, 94, 0.86));
}

.tdg-shop-preview__empty {
	align-content: center;
	gap: 0.6rem;
	min-height: 24rem;
	padding: 3rem 0 2rem;
}

.tdg-shop-preview__empty-eyebrow {
	font-size: 0.74rem;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: rgba(236, 210, 162, 0.84);
}

.tdg-shop-preview__empty-title {
	font-size: clamp(1.4rem, 1.1vw + 1rem, 2.15rem);
	line-height: 1.08;
	color: #fff5e0;
}

.tdg-shop-preview__empty-description {
	max-width: 34rem;
	color: rgba(242, 237, 230, 0.78);
	line-height: 1.65;
}

.tdg-shop-preview__content[data-shop-preview-body] {
	display: grid;
	gap: 1rem;
}

.tdg-shop-preview__image {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 100%;
	border-radius: 22px;
	object-fit: cover;
}

.tdg-shop-preview__slider {
	width: 100%;
	height: 100%;
	min-height: inherit;
	border-radius: 22px;
	overflow: hidden;
	--swiper-theme-color: var(--tdg-shop-accent);
	--swiper-navigation-size: 1rem;
}

.tdg-shop-preview__slider[hidden] {
	display: none !important;
}

.tdg-shop-preview__slider-wrapper,
.tdg-shop-preview__slider-slide {
	height: 100%;
}

.tdg-shop-preview__slider-wrapper {
	display: flex;
}

.tdg-shop-preview__slider-slide {
	width: 100%;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tdg-shop-preview__slider-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: saturate(1.02) contrast(1.02) drop-shadow(0 18px 28px rgba(0, 0, 0, 0.18));
}

.tdg-shop-preview__slider-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.45rem;
	height: 2.45rem;
	margin-top: -1.225rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: rgba(10, 14, 20, 0.7);
	color: rgba(255, 245, 230, 0.96);
	box-shadow: 0 14px 26px rgba(0, 0, 0, 0.28);
	backdrop-filter: blur(10px);
	transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, color 160ms ease;
}

.tdg-shop-preview__slider-arrow::after {
	font-size: 1rem;
	font-weight: 800;
}

.tdg-shop-preview__slider-arrow:hover,
.tdg-shop-preview__slider-arrow:focus-visible {
	transform: translateY(-1px);
	border-color: rgba(240, 197, 122, 0.7);
	background: rgba(28, 24, 18, 0.86);
	color: #ffe5b0;
}

.tdg-shop-preview__slider-arrow.swiper-button-disabled {
	display: none;
}

.tdg-shop-preview__slider.is-single-slide .tdg-shop-preview__slider-arrow {
	display: none;
}

.tdg-shop-preview__slider-arrow--prev {
	left: 0.8rem;
}

.tdg-shop-preview__slider-arrow--next {
	right: 0.8rem;
}

.tdg-shop-preview__slider-pagination.swiper-pagination-bullets {
	left: 50%;
	bottom: 0.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	padding: 0.32rem 0.42rem;
	border-radius: 999px;
	background: rgba(10, 14, 20, 0.58);
	border: 1px solid rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(10px);
	transform: translateX(-50%);
}

/* Swiper locks one-bullet pagination; keep single-image previews showing an active dot. */
.tdg-shop-preview__slider.is-single-slide .tdg-shop-preview__slider-pagination.swiper-pagination-lock,
.tdg-shop-preview__slider.is-single-slide .tdg-shop-preview__slider-pagination.swiper-pagination-disabled {
	display: inline-flex !important;
}

.tdg-shop-preview__slider-pagination .swiper-pagination-bullet {
	width: 0.48rem;
	height: 0.48rem;
	margin: 0 0.18rem !important;
	background: rgba(255, 245, 230, 0.52);
	opacity: 1;
}

.tdg-shop-preview__slider.is-single-slide .tdg-shop-preview__slider-pagination .swiper-pagination-bullet:only-child {
	display: inline-block !important;
}

.tdg-shop-preview__slider.is-single-slide .tdg-shop-preview__slider-pagination .swiper-pagination-bullet,
.tdg-shop-preview__slider-pagination .swiper-pagination-bullet-active {
	width: 1.25rem;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(240, 197, 122, 0.98), rgba(200, 160, 94, 0.96));
}

.tdg-shop-preview__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.9rem;
	padding: 0.8rem 1rem;
	border-radius: 12px;
	border: 0;
	background: linear-gradient(180deg, rgba(240, 197, 122, 0.98), rgba(200, 160, 94, 0.96));
	color: #2d1d0a;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	text-decoration: none;
}

.tdg-shop-preview__button:hover,
.tdg-shop-preview__button:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 16px 30px rgba(0, 0, 0, 0.22);
}

.tdg-shop-preview-drawer {
	position: fixed;
	inset: 0;
	z-index: 1200;
	display: none;
}

.tdg-shop-preview-drawer[hidden] {
	display: none !important;
}

.tdg-shop-preview-drawer__backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	padding: 0;
	background: rgba(1, 3, 6, 0.6);
	backdrop-filter: blur(8px);
	cursor: pointer;
	opacity: 0;
	transition: opacity var(--tdg-shop-preview-motion-duration) ease;
	will-change: opacity;
}

.tdg-shop-preview-drawer__sheet {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	height: min(92dvh, 46rem);
	max-height: calc(100dvh - 0.75rem);
	padding: 0.9rem 0.9rem calc(0.9rem + env(safe-area-inset-bottom));
	border-radius: 28px 28px 0 0;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-bottom: 0;
	background:
		linear-gradient(180deg, rgba(10, 14, 20, 0.98), rgba(10, 14, 20, 0.94)),
		radial-gradient(circle at top center, rgba(240, 197, 122, 0.08), transparent 42%);
	box-shadow: 0 -22px 60px rgba(0, 0, 0, 0.42);
	backdrop-filter: blur(18px);
	overflow: hidden;
	opacity: 0;
	transform: translateY(24px) scale(0.985);
	transition:
		opacity var(--tdg-shop-preview-motion-duration) ease,
		transform var(--tdg-shop-preview-motion-duration) var(--tdg-shop-preview-motion-ease);
	will-change: opacity, transform;
}

.tdg-shop-preview-drawer__handle {
	width: 3.75rem;
	height: 0.3rem;
	margin: 0 auto;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.18);
}

.tdg-shop-preview-drawer__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0 0.1rem 0.2rem;
}

.tdg-shop-preview-drawer__title {
	font-size: 1.1rem;
	line-height: 1.2;
	color: #fff5e0;
	flex: 1 1 auto;
	min-width: 0;
	padding-top: 0.15rem;
	padding-right: 0.25rem;
}

.tdg-shop-preview-drawer__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.06);
	color: rgba(255, 245, 230, 0.96);
	font: inherit;
	font-size: 1.25rem;
	font-weight: 700;
	cursor: pointer;
	transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;
}

.tdg-shop-preview-drawer__close:hover,
.tdg-shop-preview-drawer__close:focus-visible {
	transform: translateY(-1px);
	border-color: rgba(240, 197, 122, 0.58);
	box-shadow: 0 14px 22px rgba(0, 0, 0, 0.18);
}

.tdg-shop-preview-modal .tdg-shop-preview__content,
.tdg-shop-preview-drawer .tdg-shop-preview__content {
	flex: 1 1 auto;
	min-height: 0;
	padding: 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: rgba(240, 197, 122, 0.78) rgba(255, 255, 255, 0.06);
}

.tdg-shop-preview-modal .tdg-shop-preview__content::-webkit-scrollbar,
.tdg-shop-preview-drawer .tdg-shop-preview__content::-webkit-scrollbar {
	width: 0.68rem;
}

.tdg-shop-preview-modal .tdg-shop-preview__content::-webkit-scrollbar-track,
.tdg-shop-preview-drawer .tdg-shop-preview__content::-webkit-scrollbar-track {
	background: rgba(255, 255, 255, 0.06);
	border-radius: 999px;
}

.tdg-shop-preview-modal .tdg-shop-preview__content::-webkit-scrollbar-thumb,
.tdg-shop-preview-drawer .tdg-shop-preview__content::-webkit-scrollbar-thumb {
	border-radius: 999px;
	border: 0.16rem solid rgba(10, 14, 20, 0.92);
	background: linear-gradient(180deg, rgba(240, 197, 122, 0.96), rgba(200, 160, 94, 0.86));
}

.tdg-shop-preview-drawer[data-preview-motion-state='open'] .tdg-shop-preview-drawer__backdrop {
	opacity: 1;
}

.tdg-shop-preview-drawer[data-preview-motion-state='open'] .tdg-shop-preview-drawer__sheet {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.tdg-shop-preview-modal[data-preview-motion-state='opening'] .tdg-shop-preview-modal__backdrop,
.tdg-shop-preview-drawer[data-preview-motion-state='opening'] .tdg-shop-preview-drawer__backdrop,
.tdg-shop-preview-modal[data-preview-motion-state='closing'] .tdg-shop-preview-modal__backdrop,
.tdg-shop-preview-drawer[data-preview-motion-state='closing'] .tdg-shop-preview-drawer__backdrop {
	opacity: 0;
}

.tdg-shop-preview-modal[data-preview-motion-state='opening'] .tdg-shop-preview-modal__panel,
.tdg-shop-preview-modal[data-preview-motion-state='closing'] .tdg-shop-preview-modal__panel {
	opacity: 0;
	transform: translateY(22px) scale(0.975);
}

.tdg-shop-preview-drawer[data-preview-motion-state='opening'] .tdg-shop-preview-drawer__sheet,
.tdg-shop-preview-drawer[data-preview-motion-state='closing'] .tdg-shop-preview-drawer__sheet {
	opacity: 0;
	transform: translateY(24px) scale(0.985);
}

@media (min-width: 721px) {
	.tdg-shop-preview-modal__panel {
		display: flex;
		flex-direction: column;
	}

	.tdg-shop-preview-modal .tdg-shop-preview__content {
		padding: 1rem 1.1rem 1.15rem;
	}

	.tdg-shop-preview__layout {
		grid-template-columns: minmax(0, 1.08fr) minmax(24rem, 0.92fr);
		gap: 1.15rem;
	}

	.tdg-shop-preview__media-column {
		position: sticky;
		top: 0.15rem;
		align-self: start;
		gap: 0.75rem;
		padding: 0.1rem 0 0.1rem 0.1rem;
	}

	.tdg-shop-preview__media {
		min-height: min(34rem, 56vh);
		padding: 1rem;
		border-radius: 30px;
		background:
			radial-gradient(circle at 50% 18%, rgba(240, 197, 122, 0.18), transparent 42%),
			rgba(255, 255, 255, 0.04);
		box-shadow:
			inset 0 1px 0 rgba(255, 255, 255, 0.05),
			0 20px 44px rgba(0, 0, 0, 0.24);
	}

	.tdg-shop-preview__image {
		width: 100%;
		height: 100%;
		max-height: 100%;
		object-fit: contain;
		filter: saturate(1.02) contrast(1.02) drop-shadow(0 18px 28px rgba(0, 0, 0, 0.18));
	}

	.tdg-shop-preview__gallery-wrap {
		padding: 0 0.1rem 0.1rem;
	}

	.tdg-shop-preview__gallery {
		grid-template-columns: repeat(auto-fill, minmax(5rem, 1fr));
		gap: 0.65rem;
	}

	.tdg-shop-preview__gallery-thumb {
		width: 5rem;
		height: 5rem;
		border-radius: 14px;
	}

	.tdg-shop-preview__info-column {
		position: relative;
		padding: 0.35rem 0.25rem 0.2rem 0.1rem;
		gap: 0.85rem;
	}

	.tdg-shop-preview__info-column::before {
		content: "";
		position: absolute;
		top: 0.1rem;
		left: -0.6rem;
		bottom: 0.1rem;
		width: 1px;
		background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.08), transparent);
	}

	.tdg-shop-preview__meta-row {
		align-items: center;
		gap: 0.6rem;
	}

	.tdg-shop-preview__badge {
		padding-inline: 0.9rem;
		min-height: 2.2rem;
		box-shadow: 0 10px 18px rgba(0, 0, 0, 0.14);
	}

	.tdg-shop-preview__title {
		margin: 0.15rem 0 0;
		font-size: clamp(1.75rem, 1.45vw + 1rem, 2.65rem);
		line-height: 1.05;
		letter-spacing: -0.02em;
		color: #fff4de;
	}

	.tdg-shop-preview__description-panel {
		padding: 1rem 1rem 0.95rem;
		border: 1px solid rgba(255, 255, 255, 0.08);
		border-radius: 22px;
		background: rgba(255, 255, 255, 0.04);
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
	}

	.tdg-shop-preview .tdg-product-detail-tabs,
	.tdg-shop-preview__info-column > .tdg-product-detail-tabs {
		margin-top: 0.15rem;
		padding: 0.05rem 1rem;
		border: 1px solid rgba(255, 255, 255, 0.08);
		border-radius: 22px;
		background: rgba(255, 255, 255, 0.04);
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
	}

	.tdg-shop-preview__description {
		font-size: 0.98rem;
		line-height: 1.75;
		color: rgba(244, 239, 231, 0.84);
	}

	.tdg-shop-preview__price {
		padding: 0.15rem 0 0;
		font-size: clamp(1.75rem, 1.4vw + 1rem, 2.55rem);
		line-height: 1;
		letter-spacing: -0.02em;
	}

	.tdg-shop-preview__quantity-row {
		width: fit-content;
		padding: 0;
		border: 0;
		background: transparent;
		box-shadow: none;
	}

	.tdg-shop-preview__quantity {
		min-width: 6rem;
		height: 3.35rem;
		font-size: 1.02rem;
		font-weight: 700;
	}

	.tdg-shop-preview__quantity-button {
		width: 3.1rem;
		height: 3.1rem;
		border-radius: 14px;
		font-size: 1.35rem;
	}

	.tdg-shop-preview__button {
		width: 100%;
		min-height: 3.45rem;
		margin-top: 0.1rem;
		border-radius: 16px;
		font-size: 1rem;
		box-shadow: 0 16px 28px rgba(0, 0, 0, 0.18);
	}
}

.tdg-shop-category-drawer {
	position: fixed;
	inset: 0;
	z-index: 1210;
	display: none;
}

.tdg-shop-category-drawer[hidden] {
	display: none !important;
}

.tdg-shop-category-drawer__backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	padding: 0;
	background: rgba(1, 3, 6, 0.6);
	backdrop-filter: blur(8px);
	cursor: pointer;
	opacity: 0;
	transition: opacity var(--tdg-shop-preview-motion-duration) ease;
	will-change: opacity;
}

.tdg-shop-category-drawer__sheet {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
	height: min(84dvh, 40rem);
	max-height: calc(100dvh - 0.75rem);
	padding: 0.9rem 0.9rem calc(0.9rem + env(safe-area-inset-bottom));
	border-radius: 28px 28px 0 0;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-bottom: 0;
	background:
		linear-gradient(180deg, rgba(10, 14, 20, 0.98), rgba(10, 14, 20, 0.94)),
		radial-gradient(circle at top center, rgba(240, 197, 122, 0.08), transparent 42%);
	box-shadow: 0 -22px 60px rgba(0, 0, 0, 0.42);
	backdrop-filter: blur(18px);
	overflow: hidden;
	opacity: 0;
	transform: translateY(24px) scale(0.985);
	transition:
		opacity var(--tdg-shop-preview-motion-duration) ease,
		transform var(--tdg-shop-preview-motion-duration) var(--tdg-shop-preview-motion-ease);
	will-change: opacity, transform;
}

.tdg-shop-category-drawer__sheet,
.tdg-shop-category-drawer__sheet * {
	box-sizing: border-box;
}

.tdg-shop-filter-panel__inner--drawer {
	display: grid;
	grid-template-rows: repeat(3, min-content) minmax(0, 1fr);
	flex: 1 1 auto;
	min-height: 0;
	gap: 0.75rem;
	overflow: hidden;
}

.tdg-shop-category-drawer__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 0 0.1rem 0.15rem;
}

.tdg-shop-category-drawer__header-copy {
	min-width: 0;
	flex: 1 1 auto;
}

.tdg-shop-category-drawer__eyebrow-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem;
	min-width: 0;
}

.tdg-shop-category-drawer__reset {
	min-height: 2.55rem;
	padding: 0.35rem 0.72rem;
	font-size: 0.72rem;
}

.tdg-shop-category-drawer__eyebrow {
	margin: 0 0 0.1rem;
	font-size: 0.7rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(236, 210, 162, 0.84);
}

.tdg-shop-category-drawer__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 2.55rem;
	min-width: 2.55rem;
	padding: 0.45rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.06);
	color: rgba(255, 245, 230, 0.96);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.tdg-shop-category-drawer__close-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.05rem;
	height: 1.05rem;
	color: currentColor;
}

.tdg-shop-category-drawer__close-icon svg {
	width: 100%;
	height: 100%;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	fill: none;
}

.tdg-shop-category-drawer__close:hover,
.tdg-shop-category-drawer__close:focus-visible {
	border-color: rgba(240, 197, 122, 0.58);
	box-shadow: 0 16px 26px rgba(0, 0, 0, 0.22);
}

.tdg-shop-category-drawer__nav {
	flex: 1 1 auto;
	min-height: 0;
	display: grid;
	gap: 0.55rem;
	padding-right: 0.1rem;
	padding-bottom: 0.1rem;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: rgba(240, 197, 122, 0.78) rgba(255, 255, 255, 0.06);
}

.tdg-shop-category-drawer__nav::-webkit-scrollbar {
	width: 0.68rem;
}

.tdg-shop-category-drawer__nav::-webkit-scrollbar-track {
	background: rgba(255, 255, 255, 0.06);
	border-radius: 999px;
}

.tdg-shop-category-drawer__nav::-webkit-scrollbar-thumb {
	border-radius: 999px;
	border: 0.16rem solid rgba(10, 14, 20, 0.92);
	background: linear-gradient(180deg, rgba(240, 197, 122, 0.96), rgba(200, 160, 94, 0.86));
}

.tdg-shop-category-drawer[data-shop-category-motion-state='open'] .tdg-shop-category-drawer__backdrop {
	opacity: 1;
}

.tdg-shop-category-drawer[data-shop-category-motion-state='open'] .tdg-shop-category-drawer__sheet {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.tdg-shop-category-drawer[data-shop-category-motion-state='opening'] .tdg-shop-category-drawer__backdrop,
.tdg-shop-category-drawer[data-shop-category-motion-state='closing'] .tdg-shop-category-drawer__backdrop {
	opacity: 0;
}

.tdg-shop-category-drawer[data-shop-category-motion-state='opening'] .tdg-shop-category-drawer__sheet,
.tdg-shop-category-drawer[data-shop-category-motion-state='closing'] .tdg-shop-category-drawer__sheet {
	opacity: 0;
	transform: translateY(24px) scale(0.985);
}

.tdg-shop-category-drawer__nav .tdg-shop-sidebar__tab {
	width: 100%;
}

.tdg-shop-category-drawer__nav .tdg-shop-sidebar__tab:hover,
.tdg-shop-category-drawer__nav .tdg-shop-sidebar__tab:focus-visible {
	transform: translateY(-1px);
}

.tdg-shop-category-drawer__nav .tdg-shop-sidebar__tab {
	min-height: 3.15rem;
	padding: 0.68rem 0.85rem;
}

.tdg-shop-category-drawer__nav .tdg-shop-sidebar__label {
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.15;
}

.tdg-shop-filter-panel__sort--drawer {
	flex-direction: column;
	align-items: stretch;
	gap: 0.45rem;
}

.tdg-shop-filter-panel__sort-row {
	width: 100%;
}

.tdg-shop-filter-panel__sort-row--label {
	display: flex;
	align-items: center;
}

.tdg-shop-filter-panel__sort-row--select {
	display: flex;
}

.tdg-shop-filter-panel__sort-row--select .tdg-shop-filter-panel__sort-select {
	width: 100%;
	flex: 1 1 auto;
}

.woocommerce-no-products-found {
	width: min(96rem, calc(100vw - 2 * clamp(1rem, 2vw, 1.75rem)));
	margin: 1rem auto 0;
	padding: 1.25rem;
	border-radius: 26px;
	background: rgba(10, 14, 20, 0.74);
	border: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: var(--tdg-shop-shadow);
	color: var(--tdg-shop-text);
}

.woocommerce-shop .woocommerce-info,
.woocommerce-shop .woocommerce-message,
.woocommerce-shop .woocommerce-error,
.post-type-archive-product .woocommerce-info,
.post-type-archive-product .woocommerce-message,
.post-type-archive-product .woocommerce-error,
.tax-product_cat .woocommerce-info,
.tax-product_cat .woocommerce-message,
.tax-product_cat .woocommerce-error,
.tax-product_tag .woocommerce-info,
.tax-product_tag .woocommerce-message,
.tax-product_tag .woocommerce-error {
	display: none !important;
}

.woocommerce ul.products.columns-2 li.product, .woocommerce-page ul.products.columns-2 li.product {
	width: 100%;
}

.woocommerce ul.products {
	padding-top: 0.55rem;
}

.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
}

.woocommerce ul.products.columns-3 li.product, .woocommerce-page ul.products.columns-3 li.product {
	width: 100%;
}

@media (max-width: 1200px) {
	.tdg-shop-grid {
		grid-template-columns: minmax(16.5rem, 18.5rem) minmax(0, 1fr);
	}
}

@media (max-width: 980px) {
	.tdg-shop-grid {
		grid-template-columns: 1fr;
	}

	.tdg-shop-panel--filters {
		display: none;
	}

	.tdg-shop-panel__head {
		flex-direction: column;
		align-items: stretch;
	}

	.tdg-shop-panel__tools {
		width: 100%;
		justify-content: flex-start;
		flex-direction: column;
		align-items: stretch;
	}

	.tdg-shop-panel__tools .tdg-shop-toolbar__ordering {
		display: none;
	}

	.tdg-shop-panel__tools .tdg-shop-toolbar__ordering,
	.tdg-shop-panel__tools .tdg-shop-panel__category-trigger {
		width: 100%;
	}

	.tdg-shop-panel__head--filters {
		display: none;
	}

	.tdg-shop-panel__category-trigger {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 0.45rem;
		width: fit-content;
		min-height: 2.35rem;
		padding: 0.35rem 0.78rem;
		border-radius: 999px;
		border: 1px solid rgba(255, 255, 255, 0.08);
		background: rgba(255, 255, 255, 0.06);
		color: rgba(255, 245, 230, 0.96);
		font: inherit;
		font-size: 0.74rem;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		cursor: pointer;
		transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease, color 160ms ease;
	}

	.tdg-shop-panel__category-trigger-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 0.95rem;
		height: 0.95rem;
		color: currentColor;
		flex: 0 0 auto;
	}

	.tdg-shop-panel__category-trigger-icon svg {
		width: 100%;
		height: 100%;
		stroke: currentColor;
		stroke-width: 2;
		stroke-linecap: round;
		stroke-linejoin: round;
		fill: none;
	}

	.tdg-shop-panel__category-trigger:hover,
	.tdg-shop-panel__category-trigger:focus-visible {
		transform: translateY(-1px);
		border-color: rgba(240, 197, 122, 0.58);
		box-shadow: 0 14px 22px rgba(0, 0, 0, 0.18);
	}

	.tdg-shop-search {
		width: 100%;
		flex-basis: 100%;
	}

	.tdg-shop-toolbar__ordering {
		width: 100%;
	}

	.tdg-shop-toolbar__ordering select {
		width: 100%;
	}

	.tdg-shop-panel__workspace {
		grid-template-columns: clamp(7.6rem, 15vw, 9.4rem) minmax(0, 1fr);
	}

	.tdg-shop-visual,
	.tdg-shop-panel {
		min-height: auto;
	}

	.tdg-shop-visual__media {
		min-height: 18rem;
		aspect-ratio: auto;
	}

	.tdg-shop-visual__overlay {
		padding: 1rem;
	}

	.tdg-shop-panel {
		max-height: none;
		overflow: visible;
	}

	.tdg-shop-preview__layout {
		grid-template-columns: 1fr;
	}

	.tdg-shop-preview__description-panel {
		padding-top: 0.8rem;
	}

	.tdg-shop-preview__quantity-row,
	.tdg-shop-preview__button {
		width: 100%;
	}

	.tdg-shop-sidebar__tab {
		min-height: 5.3rem;
	}

	.tdg-shop-panel__body {
		overflow: visible;
		padding-right: 0;
		scrollbar-width: auto;
	}

	.tdg-shop-category-drawer {
		display: block;
	}
}

@media (max-width: 720px) and (orientation: portrait) {
	.tdg-shop-shell::after {
		background-image: url("../images/shop-page-background-mobile.webp");
	}
}

@media (max-width: 720px) {
	.tdg-shop-grid--spaced {
		margin-top: 0.45rem;
	}

	body.is-shop-preview-drawer-open,
	body.is-shop-preview-modal-open,
	body.is-shop-category-drawer-open {
		overflow: hidden;
	}

	.site-cart--shop-page,
	body.page-shop .site-cart,
	body.post-type-archive-product .site-cart,
	body.woocommerce-shop .site-cart {
		display: none !important;
	}

	.tdg-shop-visual {
		display: none;
	}

	.tdg-shop-preview-modal {
		display: none !important;
	}

	.tdg-shop-panel__workspace {
		grid-template-columns: 1fr;
	}

	.tdg-shop-sidebar {
		display: none;
	}

	.tdg-shop-category-drawer__nav {
		display: flex;
		gap: 0.45rem;
	}

	.tdg-shop-panel__head-copy {
		display: grid;
		gap: 0.45rem;
	}

	.tdg-shop-panel__footer {
		align-items: center;
		gap: 0;
		padding-top: 0.15rem;
	}

	.tdg-shop-panel__load-more {
		min-height: 1.85rem;
	}

	.tdg-shop-panel__load-more-icon {
		width: 2rem;
		height: 2rem;
	}

	.tdg-shop-panel__load-more-icon svg {
		width: 0.92rem;
		height: 0.92rem;
	}

	.tdg-shop-toolbar__count {
		width: 100%;
		text-align: center;
	}

	.tdg-shop-panel__tools {
		width: 100%;
		justify-content: flex-start;
		flex-direction: column;
		align-items: stretch;
	}

	.tdg-shop-panel__tools .tdg-shop-toolbar__ordering,
	.tdg-shop-panel__tools .tdg-shop-panel__category-trigger {
		width: 100%;
	}

	.tdg-shop-panel__category-trigger {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: fit-content;
		min-height: 2.35rem;
		padding: 0.35rem 0.78rem;
		border-radius: 999px;
		border: 1px solid rgba(255, 255, 255, 0.08);
		background: rgba(255, 255, 255, 0.06);
		color: rgba(255, 245, 230, 0.96);
		font: inherit;
		font-size: 0.74rem;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		cursor: pointer;
		transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease, color 160ms ease;
	}

	.tdg-shop-panel__category-trigger:hover,
	.tdg-shop-panel__category-trigger:focus-visible {
		transform: translateY(-1px);
		border-color: rgba(240, 197, 122, 0.58);
		box-shadow: 0 14px 22px rgba(0, 0, 0, 0.18);
	}

	.tdg-shop-category-drawer__sheet {
		max-height: calc(100dvh - 0.5rem);
	}

	.tdg-shop-sidebar__tab {
		transform: none;
	}

	.tdg-shop-visual__stats {
		grid-template-columns: 1fr;
	}

	.tdg-shop-preview__actions {
		flex-direction: column;
	}

	.tdg-shop-preview__actions .tdg-shop-button {
		width: 100%;
	}

	.tdg-shop-preview__content[data-shop-preview-surface="inline"] {
		display: none;
	}

	.tdg-shop-preview-drawer {
		display: block;
	}

	.tdg-shop-preview-drawer__sheet {
		height: min(84dvh, 40rem);
		max-height: calc(100dvh - 0.75rem);
		border-radius: 28px 28px 0 0;
		padding: 0.9rem 0.9rem calc(0.9rem + env(safe-area-inset-bottom));
		gap: 0.8rem;
	}

	.tdg-shop-preview-drawer__handle {
		width: 3.25rem;
		height: 0.28rem;
	}

	.tdg-shop-preview-drawer__header {
		padding: 0.05rem 0.05rem 0.15rem;
	}

	.tdg-shop-preview-drawer__close {
		width: 2.75rem;
		height: 2.75rem;
		font-size: 1.3rem;
	}

	.tdg-shop-preview-drawer .tdg-shop-preview__content {
		padding: 0 0.05rem 0.1rem;
	}

	.tdg-shop-preview__layout {
		grid-template-columns: 1fr;
		gap: 0.85rem;
	}

	.tdg-shop-preview__media-column {
		gap: 0.55rem;
	}

	.tdg-shop-preview__media {
		min-height: 15.5rem;
		padding: 0.75rem;
		border-radius: 24px;
		background:
			radial-gradient(circle at 50% 20%, rgba(240, 197, 122, 0.16), transparent 42%),
			rgba(255, 255, 255, 0.04);
	}

	.tdg-shop-preview__image {
		object-fit: contain;
	}

	.tdg-shop-preview__gallery-wrap {
		padding: 0 0.05rem 0.05rem;
		gap: 0.45rem;
	}

	.tdg-shop-preview__gallery {
		grid-template-columns: repeat(auto-fill, minmax(4rem, 1fr));
		gap: 0.45rem;
	}

	.tdg-shop-preview__gallery-thumb {
		width: 4rem;
		height: 4rem;
		border-radius: 12px;
	}

	.tdg-shop-preview__info-column {
		gap: 0.7rem;
		padding: 0.1rem 0 0;
	}

	.tdg-shop-preview__meta-row {
		gap: 0.55rem;
	}

	.tdg-shop-preview__categories {
		gap: 0.4rem;
	}

	.tdg-shop-preview__badge,
	.tdg-shop-preview__category {
		min-height: 2.1rem;
		padding: 0.32rem 0.68rem;
		font-size: 0.7rem;
	}

	.tdg-shop-preview__title {
		margin: 0.15rem 0 0;
		font-size: clamp(1.35rem, 4vw, 1.75rem);
		line-height: 1.08;
		letter-spacing: -0.02em;
	}

	.tdg-shop-preview__description-panel {
		padding: 0.9rem 0.95rem;
		border-radius: 18px;
		background: rgba(255, 255, 255, 0.04);
		border: 1px solid rgba(255, 255, 255, 0.08);
	}

	.tdg-shop-preview__info-column > .tdg-product-detail-tabs {
		padding: 0 0.95rem;
		border-radius: 18px;
		background: rgba(255, 255, 255, 0.04);
		border: 1px solid rgba(255, 255, 255, 0.08);
	}

	.tdg-product-detail-tabs__button {
		min-height: 3.2rem;
		padding: 0.78rem 0;
	}

	.tdg-product-detail-tabs__content {
		padding: 0 0 0.85rem;
		font-size: 0.95rem;
		line-height: 1.7;
	}

	.tdg-shop-preview__description {
		font-size: 0.95rem;
		line-height: 1.7;
		color: rgba(244, 239, 231, 0.82);
	}

	.tdg-shop-preview__price {
		font-size: clamp(1.6rem, 4.8vw, 2.05rem);
		padding-top: 0.1rem;
	}

	.tdg-shop-preview__quantity-row {
		width: 100%;
		justify-content: space-between;
		gap: 0.5rem;
	}

	.tdg-shop-preview__quantity {
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
		min-height: 3rem;
	}

	.tdg-shop-preview__quantity-button {
		flex: 0 0 auto;
		width: 3rem;
		height: 3rem;
	}

	.tdg-shop-preview__button {
		width: 100%;
		min-height: 3.2rem;
		border-radius: 16px;
	}

	.tdg-shop-category-drawer__sheet {
		height: min(84dvh, 42rem);
		gap: 0.5rem;
		padding: 0.75rem 0.75rem calc(0.75rem + env(safe-area-inset-bottom));
		box-sizing: border-box;
	}

	.tdg-shop-filter-panel__inner--drawer {
		grid-template-rows: repeat(3, min-content) minmax(0, 1fr);
		gap: 0.6rem;
	}

	.tdg-shop-category-drawer__header {
		align-items: center;
		gap: 0.75rem;
	}

	.tdg-shop-category-drawer__reset {
		margin-left: auto;
		flex: 0 0 auto;
	}

	.tdg-shop-search {
		gap: 0.45rem;
		align-items: center;
	}

	.tdg-shop-search__input,
	.tdg-shop-search__button,
	.tdg-shop-toolbar__ordering select {
		min-height: 2.55rem;
	}

	.tdg-shop-search__input {
		padding: 0.5rem 0.85rem;
	}

	.tdg-shop-search__button {
		min-width: 2.55rem;
		padding: 0.45rem;
	}

	.tdg-shop-filter-panel__sort--drawer {
		gap: 0.3rem;
	}

	.tdg-shop-filter-panel__reset-row {
		gap: 0.4rem;
	}

	.tdg-shop-category-drawer__nav {
		gap: 0.45rem;
		padding-bottom: 0.15rem;
	}

	.tdg-shop-category-drawer__nav .tdg-shop-sidebar__tab {
		min-height: 2.9rem;
		padding: 0.62rem 0.85rem;
	}

	.tdg-shop-products-grid,
	.tdg-shop-panel .products {
		grid-template-columns: 1fr;
	}

	.tdg-shop-card__inner {
		grid-template-columns: 1fr;
	}

	.tdg-shop-card__actions {
		flex-direction: column;
	}

	.tdg-shop-preview__gallery {
		grid-template-columns: repeat(auto-fill, minmax(3.8rem, 1fr));
		gap: 0.5rem;
	}

	.tdg-shop-preview__gallery-thumb {
		width: 3.8rem;
		height: 3.8rem;
	}

	.tdg-shop-card__button {
		width: 100%;
		flex: 1 1 auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tdg-shop-category-drawer__backdrop,
	.tdg-shop-category-drawer__sheet {
		transition-duration: 1ms !important;
		transition-timing-function: linear !important;
	}

	.tdg-shop-preview-modal__backdrop,
	.tdg-shop-preview-modal__panel,
	.tdg-shop-preview-drawer__backdrop,
	.tdg-shop-preview-drawer__sheet {
		transition-duration: 1ms !important;
		transition-timing-function: linear !important;
	}

	.tdg-shop-button,
	.tdg-shop-chip,
	.tdg-shop-card__button {
		transition-duration: 1ms !important;
	}
}

.tdg-shop-cart-flight {
	position: fixed;
	z-index: 1200;
	pointer-events: none;
	overflow: hidden;
	box-shadow: var(--flight-shadow, 0 26px 44px rgba(0, 0, 0, 0.35));
	background: rgba(12, 16, 22, 0.88);
	border: 1px solid rgba(255, 255, 255, 0.08);
	will-change: transform, opacity;
}

.tdg-shop-cart-flight__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.site-cart.is-fly-catch {
	animation: tdg-shop-cart-catch 700ms cubic-bezier(0.2, 1, 0.22, 1);
}

.site-cart.is-fly-catch .site-cart__icon {
	animation: tdg-shop-cart-icon-pop 700ms cubic-bezier(0.2, 1, 0.22, 1);
}

.site-cart.is-fly-catch .site-cart__count {
	animation: tdg-shop-cart-count-pop 700ms cubic-bezier(0.2, 1, 0.22, 1);
}

@keyframes tdg-shop-cart-catch {
	0% {
		transform: translateY(0) scale(1);
	}
	38% {
		transform: translateY(-2px) scale(1.03);
	}
	100% {
		transform: translateY(0) scale(1);
	}
}

@keyframes tdg-shop-cart-icon-pop {
	0% {
		transform: scale(1);
	}
	35% {
		transform: scale(1.2);
	}
	100% {
		transform: scale(1);
	}
}

@keyframes tdg-shop-cart-count-pop {
	0% {
		transform: scale(1);
	}
	30% {
		transform: scale(1.22);
	}
	100% {
		transform: scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.tdg-shop-cart-flight,
	.site-cart.is-fly-catch,
	.site-cart.is-fly-catch .site-cart__icon,
	.site-cart.is-fly-catch .site-cart__count {
		animation: none !important;
	}
}
