/* ==========================================================================
   TlatDesign – WooCommerce (bold skin)
   ========================================================================== */

.tlat-shop { padding-block: clamp(20px, 3vw, 40px) var(--td-section); }
.woocommerce-products-header { margin: 0 0 24px; padding: clamp(32px, 6vw, 80px) clamp(22px, 4vw, 56px); border-radius: var(--td-radius-lg); background: var(--td-violet); color: #fff; position: relative; overflow: hidden; isolation: isolate; }
.woocommerce-products-header::after { content: ""; position: absolute; z-index: -1; width: 180px; height: 180px; inset-inline-end: -70px; top: -70px; border-radius: 50%; background: var(--td-orange); border: 2px solid var(--td-ink); }
@media (min-width: 900px) { .woocommerce-products-header::after { width: 300px; height: 300px; inset-inline-end: -90px; top: -150px; } .woocommerce-products-header > * { max-width: calc(100% - 180px); } }
.woocommerce-products-header__title.page-title { font-size: clamp(44px, 7vw, 104px); font-weight: 800; letter-spacing: -0.045em; line-height: .92; margin: 0 0 14px; }
.term-description, .page-description { color: #fff; font-size: clamp(17px, 1.6vw, 20px); max-width: 56ch; }
.term-description p:last-child { margin: 0; }
.tlat-shop .tlat-breadcrumbs { color: var(--td-ink-3); }
.tlat-shop .tlat-breadcrumbs a:hover { color: var(--td-accent-ink); }

/* Toolbar */
.tlat-shop-toolbar { display: grid; gap: 14px; margin: 24px 0 36px; }
.tlat-chips { display: flex; gap: 8px; overflow-x: auto; padding: 4px 4px 8px; scrollbar-width: none; margin-inline: calc(var(--td-gutter) * -1); padding-inline: var(--td-gutter); }
.tlat-chips::-webkit-scrollbar { display: none; }
/* Show that the chip row scrolls: fade the far (left) edge until the end is reached. */
.tlat-chips { -webkit-mask-image: linear-gradient(to left, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(to left, #000 calc(100% - 40px), transparent); }
.tlat-chips.is-end { -webkit-mask-image: none; mask-image: none; }
.tlat-chip { flex-shrink: 0; display: inline-flex; align-items: center; min-height: 46px; padding: 0 20px; border-radius: 999px; border: 2px solid var(--td-ink); background: var(--td-surface); font-size: 16px; font-weight: 700; text-decoration: none; color: var(--td-ink); transition: background-color .2s, transform .2s; }
.tlat-chip:hover { background: var(--td-lime); color: var(--td-ink); transform: translateY(-2px); }
.tlat-chip.is-active { background: var(--td-ink); color: var(--td-lime); }
.tlat-filter { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 12px; border-radius: 22px; background: var(--td-surface); border: 2px solid var(--td-ink); box-shadow: 5px 5px 0 var(--td-ink); }
.tlat-filter__field { position: relative; display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; border: 0; }
.tlat-filter input, .tlat-filter select { min-height: 46px; border-radius: 999px; border: 2px solid var(--td-line-2); background: var(--td-bg); padding: 0 16px; font-size: 16px; font-weight: 500; }
.tlat-filter input:focus, .tlat-filter select:focus { outline: none; border-color: var(--td-ink); box-shadow: 0 0 0 3px var(--td-lime); }
.tlat-filter__search { flex: 1 1 220px; }
.tlat-filter__search .td-icon { position: absolute; inset-inline-start: 16px; color: var(--td-ink-3); pointer-events: none; }
.tlat-filter__search input { width: 100%; padding-inline-start: 44px; }
.tlat-filter__price input { width: 100px; -moz-appearance: textfield; }
.tlat-filter__price input::-webkit-outer-spin-button, .tlat-filter__price input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.tlat-filter__sort select { appearance: none; padding-inline-end: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%230f0f14' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: left 14px center; }
[dir="ltr"] .tlat-filter__sort select { background-position: right 14px center; }
.tlat-filter .td-btn { box-shadow: none; }
.tlat-filter__reset { font-size: 15px; font-weight: 600; color: var(--td-ink-2); }
.tlat-shop-toolbar__count .woocommerce-result-count { margin: 0; font-size: 15px; color: var(--td-ink-3); float: none; }
@media (max-width: 640px) { .tlat-filter__price, .tlat-filter__sort { flex: 1 1 auto; } .tlat-filter__price input { flex: 1; width: auto; } .tlat-filter__sort select { width: 100%; } .tlat-filter .td-btn { flex: 1 1 100%; } }

/* Product grid */
.woocommerce ul.products, ul.products { list-style: none; margin: 0; padding: 0; display: grid; gap: 24px 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
@media (min-width: 900px) { ul.products.columns-3, ul.products.columns-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 22px; } }
@media (min-width: 1200px) { ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.woocommerce ul.products li.product, ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; padding: 0; }

ul.products li.product.tlat-product { padding: 10px; }
@media (max-width: 480px) { ul.products li.product.tlat-product { padding: 6px; border-radius: 22px; } .tlat-product .tlat-product__media { border-radius: 16px; } .tlat-product .button { padding: 0 10px !important; font-size: 13px !important; white-space: nowrap; } }
.tlat-product { position: relative; display: flex; flex-direction: column; padding: 10px; border-radius: 28px; background: var(--td-surface); border: 2px solid var(--td-ink); transition: transform .35s var(--td-ease), box-shadow .35s var(--td-ease); }
.tlat-product:hover { transform: translate(-4px, -4px); box-shadow: 8px 8px 0 var(--td-ink); }
.tlat-product__media { position: relative; display: block; aspect-ratio: 1; border-radius: 20px; overflow: hidden; background: var(--td-surface-2); }
/* Real models: a transparent still of the model, then the live 3D (no tinted backdrop, so the product reads clearly). */
.tlat-product__media--3d { background: transparent; }
.tlat-product__media--3d .tlat-product__img { object-fit: contain; mix-blend-mode: normal; }
.tlat-product__3d { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; pointer-events: none; transition: transform .8s var(--td-ease); }
.tlat-product__media.is-live .tlat-product__3d { opacity: 1; }
.tlat-product__media.is-live .tlat-product__poster { opacity: 0; }
.tlat-product:hover .tlat-product__3d { transform: scale(1.035); }
.tlat-product__img { width: 100% !important; height: 100% !important; object-fit: cover; margin: 0 !important; transition: transform .8s var(--td-ease), opacity .5s; mix-blend-mode: multiply; }
.tlat-product__img--alt { position: absolute; inset: 0; opacity: 0; }
.tlat-product:hover .tlat-product__img { transform: scale(1.035); }
.tlat-product:hover .tlat-product__img--alt { opacity: 1; }
.tlat-badges { position: absolute; top: 20px; inset-inline-start: 20px; display: flex; gap: 6px; z-index: 2; pointer-events: none; }
.summary .tlat-badges { position: static; margin-bottom: 16px; }
.tlat-badge { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 999px; font-size: 13px; font-weight: 800; background: var(--td-lime); color: var(--td-ink); border: 2px solid var(--td-ink); }
.tlat-badges { flex-wrap: wrap; max-width: calc(100% - 40px); }
.tlat-badge { white-space: nowrap; }
@media (max-width: 600px) {
	.tlat-product .tlat-badges { top: 10px; inset-inline-start: 10px; gap: 4px; max-width: calc(100% - 20px); }
	.tlat-product .tlat-badge { height: 22px; padding: 0 8px; font-size: 11px; border-width: 1.5px; }
}
.tlat-badge--new { background: var(--td-violet); color: #fff; }
.tlat-badge--sale { background: var(--td-orange); color: var(--td-ink); }
.tlat-badge--qr { background: #fff; color: var(--td-ink); }
.tlat-badge--nfc { background: var(--td-sky); color: var(--td-ink); }
.tlat-gallery-static .woocommerce-product-gallery__wrapper { display: grid; gap: 12px; }
.tlat-gallery-static img { width: 100%; height: auto; border-radius: var(--td-radius); border: 2px solid var(--td-ink); background: #f3efe8; }
.tlat-product__body { display: flex; flex-direction: column; gap: 4px; padding: 14px 8px 6px; flex: 1; }
.tlat-product__cat { font-size: 13px; font-weight: 700; color: var(--td-accent-ink); margin: 0; }
.tlat-product__title { font-size: 19px !important; font-weight: 800; line-height: 1.25; margin: 0 !important; padding: 0 !important; letter-spacing: -0.01em; }
.tlat-product__title a { text-decoration: none; }
.tlat-product__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.tlat-product__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 12px; margin-top: auto; padding-top: 12px; }
.tlat-product .price { font-size: 21px; font-weight: 800; color: var(--td-ink) !important; margin: 0 !important; letter-spacing: -0.02em; }
.tlat-product .price del { color: var(--td-ink-3); font-weight: 400; margin-inline-end: 4px; }
.tlat-product .price ins { text-decoration: none; }
.tlat-product .button, .tlat-product .added_to_cart { position: relative; z-index: 2; display: inline-flex !important; align-items: center; min-height: 42px; padding: 0 16px !important; border-radius: 999px !important; border: 2px solid var(--td-ink) !important; background: var(--td-orange) !important; color: var(--td-ink) !important; font-size: 14px !important; font-weight: 800 !important; text-decoration: none; line-height: 1 !important; margin: 0 !important; transition: background-color .2s, transform .2s; }
.tlat-product .button:hover { background: var(--td-lime) !important; transform: translateY(-2px); }
.tlat-product .button.loading { opacity: .6; }
.tlat-product .button.added::after { content: "✓"; margin-inline-start: 6px; }
.tlat-product .added_to_cart { display: none !important; }
@media (max-width: 480px) {
	.tlat-product__foot .button { width: 100%; justify-content: center; }
	.tlat-product__title { font-size: 15px !important; line-height: 1.3; }
	/* Two narrow columns: one tidy line for the category, a compact price row. */
	.tlat-product__cat { font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.tlat-product__body { gap: 4px; padding: 10px 4px 2px; }
	.tlat-product .price { font-size: 18px; }
	.tlat-product__foot { padding-top: 8px; gap: 8px; }
}

/* Pagination */
.woocommerce nav.woocommerce-pagination { margin-top: 56px; }
.woocommerce nav.woocommerce-pagination ul { border: 0 !important; display: flex; gap: 6px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 48px; height: 48px; display: grid !important; place-items: center; border-radius: 999px; border: 2px solid var(--td-ink) !important; padding: 0 12px !important; font-weight: 700; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--td-ink) !important; color: var(--td-lime) !important; }

/* Notices */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { border: 2px solid var(--td-ink) !important; border-radius: 18px !important; background: var(--td-lime) !important; color: var(--td-ink) !important; padding: 16px 20px !important; margin: 0 0 24px !important; list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-weight: 600; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { position: static !important; margin: 0; color: var(--td-ink) !important; }
.woocommerce-error { background: #ffe1dc !important; color: #7a1a0a !important; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; margin-inline-start: auto; }

/* Shared WC buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce .wc-forward {
	display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border-radius: 999px; border: 2px solid var(--td-ink); background: var(--td-orange); color: var(--td-ink); font-weight: 800; font-size: 17px; line-height: 1; text-decoration: none; transition: background-color .2s, transform .2s, box-shadow .2s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--td-lime); color: var(--td-ink); }
.woocommerce button.button:disabled, .woocommerce button.button.disabled { opacity: .5; }

/* Single product ---------------------------------------------------------- */
.single-product .tlat-shop { padding-top: 12px; }
.single-product .tlat-breadcrumbs { margin-bottom: 18px; }
.single-product div.product { display: block; position: relative; }
.tlat-product-top { display: grid; gap: 24px; align-items: start; }
@media (min-width: 960px) {
	/* RTL: the details take the first (right) column, the 3D / photos sit on the left. Phones keep the media first. */
	.tlat-product-top { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: 48px; }
	.tlat-product-top > .summary { grid-column: 1; grid-row: 1; }
	.tlat-product-top > .tlat-pstage, .tlat-product-top > div.images { grid-column: 2; grid-row: 1; }
	/* Sticky only inside its own wrapper – it stops where the summary ends. */
	.tlat-product-top > .tlat-pstage, .tlat-product-top > div.images { position: sticky; top: calc(var(--td-header-h) + 16px); }
}
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { border-radius: var(--td-radius-lg); overflow: hidden; background: var(--td-surface-2); border: 2px solid var(--td-ink); }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 12px !important; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto !important; margin: 0 !important; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: 14px; opacity: .55; border: 2px solid transparent; transition: opacity .2s; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--td-ink); }
.woocommerce div.product .woocommerce-product-gallery__trigger { top: 16px !important; inset-inline-end: 16px; left: auto; background: var(--td-surface) !important; border-radius: 50% !important; border: 2px solid var(--td-ink); }

/* 3D stage */
.tlat-pstage { --stage-tint: #FF5B1F; }
.tlat-pstage__tabs { display: inline-flex; gap: 4px; padding: 5px; border-radius: 999px; background: var(--td-surface); border: 2px solid var(--td-ink); margin-bottom: 12px; }
.tlat-pstage__tabs button { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 18px; border-radius: 999px; border: 0; background: transparent; font-weight: 700; font-size: 15px; cursor: pointer; color: var(--td-ink); }
.tlat-pstage__tabs button[aria-selected="true"] { background: var(--td-ink); color: var(--td-lime); }
.tlat-pstage__panel > .tlat-stage { aspect-ratio: 1 / 1; border-radius: var(--td-radius-lg); border: 2px solid var(--td-ink); overflow: hidden; background:
	radial-gradient(70% 60% at 50% 35%, color-mix(in srgb, var(--stage-tint) 22%, #fff) 0%, color-mix(in srgb, var(--stage-tint) 8%, #fff6ea) 60%, #fff6ea 100%); transition: background .5s; }
.tlat-pstage__panel .tlat-stage__fallback img { object-fit: cover; border-radius: 0; }
@media (min-width: 960px) { .tlat-pstage__panel > .tlat-stage { aspect-ratio: auto; height: clamp(420px, calc(100vh - var(--td-header-h) - 170px), 720px); } }
.tlat-pstage__note { font-size: 14px; color: var(--td-ink-2); margin: 12px 4px 0; }

/* Summary */
.woocommerce div.product .product_title { font-size: clamp(36px, 4.4vw, 60px); font-weight: 800; line-height: 1; letter-spacing: -0.035em; margin: 0 0 16px; }
.woocommerce div.product .summary > p.price, .woocommerce div.product .summary > span.price, .woocommerce div.product .single_variation .price { color: var(--td-ink) !important; font-size: clamp(30px, 3vw, 40px) !important; font-weight: 800; letter-spacing: -0.03em; margin: 0 0 18px; display: inline-flex; align-items: baseline; gap: 8px; padding: 6px 18px; border-radius: 16px; background: var(--td-lime); border: 2px solid var(--td-ink); }
.woocommerce div.product .woocommerce-product-details__short-description { color: #2e2b27; font-size: 19px; margin-bottom: 22px; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin: 0 0 24px !important; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart .td-options { flex: 1 1 100%; margin: 0; border: 2px solid var(--td-ink); border-radius: 28px; padding: 24px; gap: 24px; }
.woocommerce div.product form.cart .variations { width: 100%; margin-bottom: 8px; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0 0 6px; text-align: start; }
.woocommerce div.product form.cart .variations select { width: 100%; min-height: 52px; border-radius: 14px; border: 2px solid var(--td-ink); padding: 0 14px; background: var(--td-surface); }
.woocommerce div.product form.cart .single_variation_wrap { width: 100%; display: flex; flex-wrap: wrap; gap: 12px; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; gap: 12px; width: 100%; }
.woocommerce .quantity .qty { width: 96px; min-height: 64px; border-radius: 999px; border: 2px solid var(--td-ink); background: var(--td-surface); text-align: center; font-size: 20px; font-weight: 800; }
.woocommerce div.product form.cart .button.single_add_to_cart_button { flex: 1; min-height: 64px; font-size: 20px; float: none; box-shadow: 5px 5px 0 var(--td-ink); }
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--td-ink); }

/* Options in the bold skin */
.td-options__legend { font-size: 17px !important; font-weight: 800 !important; }
.td-choice__body { border: 2px solid var(--td-line-2) !important; border-radius: 16px !important; padding: 14px 16px !important; }
.td-choice__label { font-weight: 700 !important; }
.td-choice input:checked + .td-choice__body { border-color: var(--td-ink) !important; background: var(--td-lime); box-shadow: 3px 3px 0 var(--td-ink) !important; }
.td-swatch__dot { width: 48px !important; height: 48px !important; box-shadow: inset 0 0 0 2px rgba(15, 15, 20, .25) !important; }
.td-swatch input:checked + .td-swatch__dot { outline: 3px solid var(--td-ink) !important; outline-offset: 3px; transform: scale(1.05); }
.td-toggle { border: 2px solid var(--td-line-2) !important; border-radius: 16px !important; }
.td-toggle:has(input:checked) { border-color: var(--td-ink) !important; background: var(--td-lime); box-shadow: 3px 3px 0 var(--td-ink) !important; }
.td-options .td-form-field input[type="text"], .td-options .td-form-field input[type="url"], .td-options .td-form-field input[type="tel"], .td-options .td-form-field textarea { border: 2px solid var(--td-line-2); border-radius: 14px; font-size: 17px; }
.summary .td-specs { gap: 10px; }
.summary .td-specs__row { background: #fff; border: 2px solid var(--td-ink); border-radius: 14px; box-shadow: 3px 3px 0 var(--td-ink); }
.summary .td-specs dt { color: var(--td-ink-3); font-size: 13px; font-weight: 500; }
.summary .td-specs dd { font-size: 15px; font-weight: 700; color: var(--td-ink); }
.td-options .td-links { padding: 16px; border-radius: 18px; background: #fff; border: 2px dashed var(--td-line-2); }
.td-options .td-links .td-options__legend { padding: 0 4px; }
.td-options .td-file input[type="file"] { border: 2px dashed var(--td-ink); background: #fff6ea; }
.td-options .td-file input[type="file"]::file-selector-button { background: var(--td-violet); color: #fff; border-color: var(--td-violet); }
.td-options__summary { border-top: 2px dashed var(--td-line-2) !important; }
.td-options__row--total strong { font-size: 30px !important; font-weight: 800 !important; }
.td-mockup-notice { background: #e6e0ff !important; color: #2b1d8a !important; font-weight: 500; }

.tlat-product-assurances { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 10px; }
.tlat-product-assurances li { display: flex; gap: 12px; align-items: center; padding: 12px 16px; border-radius: 16px; background: var(--td-surface); border: 2px solid var(--td-ink); font-weight: 600; font-size: 16px; }
.tlat-product-assurances li:nth-child(1) .td-icon { color: var(--td-orange); }
.tlat-product-assurances li:nth-child(2) .td-icon { color: var(--td-violet); }
.tlat-product-assurances .td-icon { flex-shrink: 0; }
.tlat-flag-il { flex-shrink: 0; display: block; border-radius: 3px; box-shadow: 0 1px 2px rgba(15, 15, 20, .18); }
.tlat-product-assurances__il span { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
.tlat-product-assurances__il small { font-size: 14px; font-weight: 500; color: var(--td-ink-2); }
.tlat-product-assurances a { color: var(--td-ink); font-weight: 800; }
.woocommerce div.product .product_meta { font-size: 15px; color: var(--td-ink-3); display: grid; gap: 4px; }
.woocommerce div.product .product_meta a { color: var(--td-ink-2); }

.woocommerce div.product .woocommerce-tabs { margin-top: 32px; padding: clamp(24px, 4vw, 48px); border-radius: var(--td-radius-lg); background: var(--td-surface); border: 2px solid var(--td-ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 6px; padding: 0 !important; margin: 0 0 28px !important; overflow-x: auto; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0 !important; background: transparent !important; border-radius: 999px !important; margin: 0 !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 12px 20px !important; font-weight: 700 !important; color: var(--td-ink) !important; border-radius: 999px; border: 2px solid var(--td-ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { background: var(--td-ink); color: var(--td-lime) !important; }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 800px; color: #2e2b27; font-size: 18px; }
.woocommerce div.product .woocommerce-tabs .panel h3 { font-size: 26px; margin-top: 1.4em; }
.woocommerce table.shop_attributes { border: 0; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border-bottom: 1px solid var(--td-line) !important; padding: 12px !important; font-style: normal; background: transparent !important; text-align: start; }
.related.products > h2, .upsells.products > h2 { font-size: clamp(32px, 4vw, 56px); letter-spacing: -0.03em; margin: 64px 0 28px; }

/* Mobile sticky buy bar */
.tlat-sticky-buy { position: fixed; z-index: 95; bottom: 12px; inset-inline: 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 10px 10px 16px; padding-inline-start: 18px; border-radius: 20px; background: var(--td-ink); color: #fff; box-shadow: 0 16px 40px rgba(0, 0, 0, .35); transform: translateY(140%); transition: transform .4s var(--td-ease); }
.tlat-sticky-buy.is-visible { transform: none; }
.tlat-sticky-buy__info { display: grid; line-height: 1.25; min-width: 0; }
.tlat-sticky-buy__info strong { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tlat-sticky-buy__info .price, .tlat-sticky-buy__info span { color: var(--td-lime) !important; font-weight: 800; font-size: 16px; }
.tlat-sticky-buy .td-btn { box-shadow: none; flex-shrink: 0; }
@media (min-width: 960px) { .tlat-sticky-buy { display: none; } }
.single-product .tlat-wa-float { bottom: 92px; }
@media (min-width: 960px) { .single-product .tlat-wa-float { bottom: 20px; } }

/* Cart & checkout (classic + blocks) */
.tlat-wc-page { max-width: var(--td-container); }
.woocommerce table.shop_table { border: 2px solid var(--td-ink); border-radius: var(--td-radius); background: var(--td-surface); border-collapse: separate; overflow: hidden; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 16px !important; border-color: var(--td-line) !important; text-align: start; }
.woocommerce table.shop_table img { width: 80px; border-radius: 12px; }
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout #order_review { background: var(--td-surface); border: 2px solid var(--td-ink); border-radius: var(--td-radius); padding: 24px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container .select2-selection { min-height: 54px; border-radius: 14px !important; border: 2px solid var(--td-line-2) !important; padding: 10px 14px !important; background: var(--td-surface); font-size: 17px; }
.woocommerce form .form-row input.input-text:focus { border-color: var(--td-ink) !important; box-shadow: 0 0 0 3px var(--td-lime); outline: none; }
.woocommerce form .form-row label { font-weight: 700; font-size: 16px; }
.woocommerce dl.variation, .wc-block-components-product-details { font-size: 15px; color: var(--td-ink-2); margin: 6px 0 0; }
.woocommerce dl.variation dt { font-weight: 700; }
.woocommerce dl.variation dd p { margin: 0; }
.wc-block-components-button:not(.is-link) { border-radius: 999px !important; min-height: 56px; background: var(--td-orange) !important; color: var(--td-ink) !important; border: 2px solid var(--td-ink) !important; font-weight: 800 !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input { border-radius: 14px !important; }

/* Cart drawer */
.tlat-drawer { position: fixed; inset: 0; z-index: 200; }
.tlat-drawer[hidden] { display: none; }
.tlat-drawer__overlay { position: absolute; inset: 0; background: rgba(15, 15, 20, .55); opacity: 0; transition: opacity .3s; }
.tlat-drawer__panel { position: absolute; top: 8px; bottom: 8px; inset-inline-end: 8px; width: min(460px, calc(100% - 16px)); background: var(--td-bg); display: flex; flex-direction: column; border-radius: 28px; border: 2px solid var(--td-ink); box-shadow: -20px 0 60px rgba(0, 0, 0, .2); transform: translateX(-110%); transition: transform .45s var(--td-ease); overflow: hidden; }
[dir="ltr"] .tlat-drawer__panel { transform: translateX(110%); }
.tlat-drawer.is-open .tlat-drawer__overlay { opacity: 1; }
.tlat-drawer.is-open .tlat-drawer__panel { transform: none; }
.tlat-drawer__panel:focus { outline: none; }
.tlat-drawer__head { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; background: var(--td-ink); color: #fff; }
.tlat-drawer__head h2 { font-size: 24px; margin: 0; }
.tlat-drawer__head .tlat-icon-btn { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .4); }
.tlat-drawer__notice { margin: 16px 20px 0; padding: 12px 14px; border-radius: 14px; background: var(--td-lime); color: var(--td-ink); font-size: 16px; font-weight: 700; border: 2px solid var(--td-ink); }
.tlat-drawer .widget_shopping_cart_content { flex: 1; overflow-y: auto; padding: 8px 20px 20px; display: flex; flex-direction: column; }
.tlat-drawer .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.tlat-drawer .woocommerce-mini-cart-item { position: relative; display: grid; grid-template-columns: 80px 1fr; gap: 4px 14px; padding: 16px 0 !important; padding-inline-end: 34px !important; border-bottom: 2px dashed var(--td-line-2); font-size: 16px; }
.tlat-drawer .woocommerce-mini-cart-item a:not(.remove) { display: contents; font-weight: 800; text-decoration: none; }
.tlat-drawer .woocommerce-mini-cart-item img { grid-row: span 3; width: 80px !important; height: 80px; object-fit: cover; border-radius: 14px; margin: 0 !important; float: none !important; border: 2px solid var(--td-ink); }
.tlat-drawer .woocommerce-mini-cart-item .remove { position: absolute; top: 14px; inset-inline-end: 0; left: auto; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: var(--td-ink) !important; text-decoration: none; font-size: 20px; border: 2px solid var(--td-ink); }
.tlat-drawer .woocommerce-mini-cart-item .remove:hover { background: var(--td-orange); }
.tlat-drawer .woocommerce-mini-cart-item .quantity { color: var(--td-ink-2); grid-column: 2; }
.tlat-drawer .woocommerce-mini-cart-item dl.variation { grid-column: 2; margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 0 6px; }
.tlat-drawer .woocommerce-mini-cart-item dl.variation dt, .tlat-drawer .woocommerce-mini-cart-item dl.variation dd { margin: 0; float: none; }
.tlat-drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; padding: 20px 0 !important; margin: auto 0 0 !important; font-size: 22px; font-weight: 800; border-top: 0 !important; }
.tlat-drawer .woocommerce-mini-cart__buttons { display: grid; gap: 10px; margin: 0; }
.tlat-drawer .woocommerce-mini-cart__buttons a { width: 100%; margin: 0 !important; }
.tlat-drawer .woocommerce-mini-cart__buttons a:not(.checkout) { background: var(--td-surface) !important; }
.tlat-drawer .woocommerce-mini-cart__empty-message { display: none; }
.tlat-cart-empty { margin: auto; text-align: center; display: grid; justify-items: center; gap: 12px; color: var(--td-ink-2); padding: 40px 0; font-size: 18px; }
.tlat-cart-empty .td-icon { color: var(--td-violet); }
body.tlat-drawer-open { overflow: hidden; }

/* Rotation controls for real (file) models */
.tlat-stage__ctrls { display: flex; justify-content: center; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.tlat-stage__ctrls button { min-width: 48px; min-height: 48px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; border: 2px solid var(--td-ink); background: #fff; color: var(--td-ink); font: inherit; font-weight: 700; font-size: 15px; cursor: pointer; box-shadow: 3px 3px 0 var(--td-ink); transition: transform .15s, box-shadow .15s; }
.tlat-stage__ctrls button:hover { background: var(--td-lime); }
.tlat-stage__ctrls button:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--td-ink); }
.tlat-badge--3d { background: var(--td-ink); color: #fff; }
