:root {
  --tt-ink:#151515;
  --tt-ink-soft:#3d3a37;
  --tt-muted:#77716a;
  --tt-line:#e8e2d9;
  --tt-paper:#fbfaf7;
  --tt-warm:#f3eee6;
  --tt-red:#c62127;
  --tt-red-dark:#9f171d;
  --tt-gold:#b58a4d;
  --tt-shadow:0 24px 70px rgba(27,23,19,.10);
  --tt-commerce-container:1380px;
}

.tt-commerce,
.tt-commerce * { box-sizing:border-box; }
.tt-commerce { color:var(--tt-ink); background:#fff; font-family:inherit; }
.tt-commerce a { text-decoration:none; }
.tt-commerce-container { width:min(var(--tt-commerce-container),calc(100% - 48px)); margin-inline:auto; }
.tt-commerce img { max-width:100%; }


/* Woodmart/WooCommerce can render its own archive page-title above our custom
   hero. On commerce archives our hero is the single visual/H1 owner. */
body.tt-commerce-archive .website-wrapper > .page-title,
body.tt-commerce-archive .main-page-wrapper > .page-title,
body.tt-commerce-archive .page-title.title-shop,
body.tt-commerce-archive .page-title[class*="title-design-"],
body.tt-commerce-archive .wd-page-title,
body.tt-commerce-archive .shop-title-wrapper,
body.tt-commerce-archive .woocommerce-products-header { display:none!important; }

/* Shared breadcrumb */
.tt-commerce-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; color:#827b73; font-size:12px; line-height:1.4; }
.tt-commerce-breadcrumb a { color:#827b73; }
.tt-commerce-breadcrumb a:hover { color:var(--tt-red); }
.tt-commerce-breadcrumb > span:last-child { color:#3b3733; }

/* Store hero */
.tt-store-hero { position:relative; overflow:hidden; padding:56px 0 82px; border-bottom:1px solid var(--tt-line); background:radial-gradient(circle at 86% 14%,rgba(181,138,77,.14),transparent 28%),linear-gradient(180deg,#fff 0%,var(--tt-paper) 100%); }
.tt-store-hero::after { content:""; position:absolute; right:-8vw; bottom:-185px; width:470px; height:470px; border:1px solid rgba(198,33,39,.12); border-radius:50%; box-shadow:0 0 0 34px rgba(198,33,39,.03),0 0 0 72px rgba(198,33,39,.018); pointer-events:none; }
.tt-store-hero .tt-commerce-breadcrumb { margin-bottom:45px; }
.tt-store-hero__grid { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:70px; align-items:center; }
.tt-store-hero__copy { max-width:960px; }
.tt-store-kicker { display:inline-flex; align-items:center; gap:9px; color:var(--tt-red); font-size:11px; line-height:1; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
.tt-store-kicker::before { content:""; width:22px; height:1px; background:currentColor; }
.tt-store-hero h1 { margin:18px 0 21px; max-width:1000px; color:#111; font-size:clamp(52px,7.2vw,94px); line-height:.97; letter-spacing:-.057em; font-weight:650; text-wrap:balance; }
.tt-store-hero p { max-width:790px; margin:0; color:#5c5650; font-size:clamp(17px,1.75vw,21px); line-height:1.67; text-wrap:pretty; }
.tt-store-hero__mark { width:168px; height:168px; display:grid; place-items:center; align-content:center; gap:6px; border:1px solid #cdbda7; border-radius:50%; background:rgba(255,255,255,.64); text-align:center; transform:rotate(7deg); backdrop-filter:blur(8px); }
.tt-store-hero__mark strong { color:var(--tt-red); font-family:Georgia,'Times New Roman',serif; font-size:48px; line-height:1; letter-spacing:-.06em; }
.tt-store-hero__mark span { font-size:8px; font-weight:850; letter-spacing:.17em; text-transform:uppercase; }

.tt-store-hero__toolbar { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:46px; padding-top:22px; border-top:1px solid rgba(192,181,168,.58); }
.tt-store-hero__results { min-width:0; }
.tt-store-hero__results .woocommerce-result-count { margin:0!important; color:#777068!important; font-size:12px!important; line-height:1.4!important; }
.tt-store-hero__ordering { display:flex; align-items:center; gap:11px; margin-left:auto; }
.tt-store-hero__ordering > span { color:#8b8177; font-size:10px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.tt-store-hero__ordering .woocommerce-ordering { margin:0!important; }
.tt-store-hero__ordering .woocommerce-ordering select { min-width:224px; height:44px!important; margin:0!important; padding:0 40px 0 15px!important; border:1px solid #d9d0c5!important; border-radius:999px!important; background-color:rgba(255,255,255,.86)!important; color:#282421!important; font-size:12px!important; font-weight:750!important; box-shadow:none!important; }

/* Discovery */
.tt-store-discovery { position:relative; z-index:3; border-bottom:1px solid var(--tt-line); background:rgba(255,255,255,.98); }
.tt-store-discovery__inner { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.tt-store-topic-nav { display:flex; flex:1 1 auto; gap:8px; overflow-x:auto; padding:13px 0; scrollbar-width:none; }
.tt-store-topic-nav::-webkit-scrollbar { display:none; }
.tt-store-pill { flex:0 0 auto; padding:10px 14px; border:1px solid transparent; border-radius:999px; color:#655f58; font-size:12px; font-weight:750; transition:.22s ease; }
.tt-store-pill:hover { border-color:#ddd5ca; background:#faf8f5; color:#111; }
.tt-store-pill.is-active { background:var(--tt-ink); color:#fff; }
.tt-store-search { position:relative; flex:0 0 min(430px,36vw); margin:0!important; }
.tt-store-search__icon { position:absolute; left:19px; top:50%; z-index:2; display:grid; place-items:center; width:20px; height:20px; color:#81786e; transform:translateY(-50%); pointer-events:none; }
.tt-store-search__icon svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.tt-commerce .tt-store-search input[type="search"] { box-sizing:border-box!important; display:block!important; width:100%!important; height:56px!important; min-height:56px!important; margin:0!important; padding:0 88px 0 56px!important; border:1px solid #ddd6cd!important; border-radius:999px!important; outline:0!important; background:#faf9f7!important; color:#222!important; font-family:inherit!important; font-size:14px!important; font-weight:400!important; line-height:54px!important; letter-spacing:0!important; text-indent:0!important; box-shadow:none!important; appearance:none!important; }
.tt-commerce .tt-store-search input[type="search"]::placeholder { color:#817b75!important; opacity:1!important; }
.tt-commerce .tt-store-search input[type="search"]:focus { border-color:#b9ad9e!important; background:#fff!important; box-shadow:0 0 0 3px rgba(181,138,77,.09)!important; }
.tt-commerce .tt-store-search button { position:absolute!important; right:7px!important; top:7px!important; width:auto!important; min-width:72px!important; height:42px!important; min-height:42px!important; margin:0!important; padding:0 15px!important; border:0!important; border-radius:999px!important; background:var(--tt-ink)!important; color:#fff!important; font-size:11px!important; font-weight:800!important; letter-spacing:.02em!important; line-height:42px!important; text-transform:none!important; box-shadow:none!important; }
.tt-commerce .tt-store-search button:hover { background:var(--tt-red)!important; }

/* Catalog framing */
.tt-store-catalog { padding:72px 0 96px; background:#fff; }
.tt-store-catalog__heading { display:flex; align-items:flex-end; gap:30px; margin-bottom:36px; }
.tt-store-catalog__heading > div { flex:0 1 auto; }
.tt-store-catalog__heading h2 { margin:11px 0 0; color:#171615; font-size:clamp(34px,4vw,52px); line-height:1.02; letter-spacing:-.045em; font-weight:650; text-wrap:balance; }
.tt-store-rule { flex:1 1 auto; height:1px; margin-bottom:11px; background:var(--tt-line); }
.tt-woo-catalog { position:relative; }
.tt-woo-catalog .woocommerce-notices-wrapper { margin-bottom:20px; }

/* Native loop toolbar is replaced by the hero toolbar. Keep only filter
   utilities that third-party extensions may inject into the loop head. */
.tt-woo-catalog .woocommerce-result-count,
.tt-woo-catalog .woocommerce-ordering { display:none!important; }
.tt-commerce .shop-loop-head,
.tt-commerce .wd-shop-tools,
.tt-commerce .woocommerce-before-shop-loop { margin-bottom:24px; }
.tt-commerce .wd-shop-tools { border:0!important; }
.tt-commerce .shop-loop-head:empty,
.tt-commerce .woocommerce-before-shop-loop:empty { display:none!important; margin:0!important; }

/* Editorial product cards — WooCommerce + Woodmart selectors */
.tt-commerce .products { gap:24px 22px!important; margin:0!important; }
.tt-commerce ul.products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; grid-auto-rows:1fr!important; align-items:stretch!important; list-style:none!important; padding:0!important; }
.tt-commerce ul.products::before,
.tt-commerce ul.products::after { display:none!important; content:none!important; }
.tt-commerce ul.products li.product,
.tt-commerce .products .product-grid-item,
.tt-commerce .products .wd-product { position:relative!important; float:none!important; width:auto!important; min-width:0!important; height:100%!important; margin:0!important; padding:0!important; overflow:visible!important; border:1px solid var(--tt-line)!important; border-radius:24px!important; background:#fff!important; box-shadow:none!important; transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important; }
.tt-commerce ul.products li.product:hover,
.tt-commerce .products .product-grid-item:hover { z-index:2; border-color:#ddd3c6!important; transform:translateY(-4px); box-shadow:0 22px 55px rgba(34,28,23,.09)!important; }
.tt-commerce .products .product-wrapper,
.tt-commerce ul.products li.product > .product-wrapper { display:flex!important; flex-direction:column!important; height:100%!important; overflow:hidden!important; border-radius:23px!important; background:#fff!important; }
.tt-commerce .products .product-element-top,
.tt-commerce ul.products li.product > a.woocommerce-LoopProduct-link { position:relative!important; display:block!important; overflow:hidden!important; margin:0!important; border-radius:23px 23px 0 0!important; background:linear-gradient(145deg,#f6f1e9,#ece3d7)!important; }
.tt-commerce .products .product-element-top { aspect-ratio:1/1.03; }
.tt-commerce .products .product-image-link,
.tt-commerce .products .product-image-link picture,
.tt-commerce .products .product-image-link img { width:100%!important; height:100%!important; }
.tt-commerce .products .product-image-link img,
.tt-commerce ul.products li.product a img { display:block!important; width:100%!important; margin:0!important; aspect-ratio:1/1.03!important; object-fit:contain!important; padding:16px!important; background:transparent!important; transition:transform .55s cubic-bezier(.2,.7,.2,1)!important; }
.tt-commerce ul.products li.product:hover .product-image-link img,
.tt-commerce ul.products li.product:hover > a img { transform:scale(1.035); }
.tt-commerce .products .product-element-bottom { display:flex!important; flex:1 1 auto!important; flex-direction:column!important; padding:20px 20px 22px!important; background:#fff!important; }
.tt-commerce .products .wd-product-header { flex:1 1 auto!important; }
.tt-commerce .products .wd-product-cats,
.tt-commerce ul.products li.product .product-category { min-height:1.35em!important; margin:0 0 9px!important; overflow:hidden!important; color:var(--tt-red)!important; font-size:10px!important; font-weight:850!important; letter-spacing:.12em!important; line-height:1.35!important; text-overflow:ellipsis!important; text-transform:uppercase!important; white-space:nowrap!important; }
.tt-commerce .products .wd-product-cats a { color:var(--tt-red)!important; }
.tt-commerce .products .wd-entities-title,
.tt-commerce ul.products li.product .woocommerce-loop-product__title { display:-webkit-box!important; min-height:2.46em!important; max-height:2.46em!important; margin:0 0 13px!important; padding:0!important; overflow:hidden!important; -webkit-box-orient:vertical!important; -webkit-line-clamp:2!important; color:#1b1917!important; font-size:clamp(14px,1.3vw,18px)!important; font-weight:690!important; letter-spacing:-.024em!important; line-height:1.23!important; text-wrap:pretty; }
.tt-commerce .products .wd-entities-title a,
.tt-commerce ul.products li.product .woocommerce-loop-product__title { color:#1b1917!important; }
.tt-commerce .products .wd-entities-title a:hover { color:var(--tt-red)!important; }
.tt-commerce .products .star-rating { margin:0 0 10px!important; font-size:11px!important; }
.tt-commerce .products .price,
.tt-commerce ul.products li.product .price { display:flex!important; flex-wrap:wrap!important; align-items:baseline!important; gap:5px 8px!important; margin:auto 0 0!important; color:#171513!important; font-size:17px!important; font-weight:800!important; line-height:1.35!important; }
.tt-commerce .products .price del,
.tt-commerce ul.products li.product .price del { color:#99918a!important; font-size:12px!important; font-weight:600!important; opacity:1!important; }
.tt-commerce .products .price ins,
.tt-commerce ul.products li.product .price ins { color:var(--tt-red)!important; font-weight:850!important; text-decoration:none!important; }
.tt-commerce .products .wd-product-footer { margin-top:15px!important; }
.tt-commerce .products .wd-add-btn,
.tt-commerce ul.products li.product .button { width:100%!important; margin:16px 0 0!important; }
.tt-commerce .products .wd-add-btn a,
.tt-commerce ul.products li.product .button,
.tt-commerce ul.products li.product .added_to_cart { display:inline-flex!important; align-items:center!important; justify-content:center!important; min-height:43px!important; padding:0 15px!important; border:1px solid #ded7ce!important; border-radius:999px!important; background:#fff!important; color:#25211e!important; font-size:11px!important; font-weight:800!important; line-height:1!important; text-transform:none!important; box-shadow:none!important; transition:.2s ease!important; }
.tt-commerce .products .wd-add-btn a:hover,
.tt-commerce ul.products li.product .button:hover { border-color:var(--tt-ink)!important; background:var(--tt-ink)!important; color:#fff!important; }
.tt-commerce .products .product-labels { z-index:4!important; top:15px!important; left:15px!important; right:auto!important; max-width:calc(100% - 30px)!important; }
.tt-commerce .products .product-label,
.tt-commerce ul.products li.product .onsale { display:inline-flex!important; align-items:center!important; justify-content:center!important; min-width:0!important; min-height:30px!important; margin:0 6px 6px 0!important; padding:0 10px!important; border:0!important; border-radius:999px!important; background:var(--tt-red)!important; color:#fff!important; font-size:10px!important; font-weight:850!important; line-height:30px!important; letter-spacing:.04em!important; box-shadow:0 8px 20px rgba(198,33,39,.18)!important; }
.tt-commerce .products .product-label.out-of-stock { background:#25211e!important; }
.tt-commerce .products .wd-buttons { top:14px!important; right:14px!important; border:1px solid rgba(219,211,201,.9)!important; border-radius:999px!important; background:rgba(255,255,255,.92)!important; box-shadow:0 8px 24px rgba(25,21,18,.08)!important; backdrop-filter:blur(8px); }
.tt-commerce .products .wd-buttons > div > a { color:#2a2724!important; }
.tt-commerce .products .wd-buttons > div > a:hover { color:var(--tt-red)!important; }
.tt-commerce .products .wd-product-fade { display:none!important; }
.tt-commerce .products .quick-shop-wrapper { border-radius:0 0 23px 23px!important; }

/* Pagination remains in the DOM as a crawlable/no-JS fallback. When the
   IntersectionObserver enhancement is active it becomes visually hidden and
   its next URL powers progressive product loading. */
.tt-commerce .woocommerce-pagination { margin-top:52px!important; }
.tt-commerce .woocommerce-pagination ul.page-numbers { display:flex!important; flex-wrap:wrap!important; justify-content:center!important; gap:8px!important; margin:0!important; padding:0!important; border:0!important; }
.tt-commerce .woocommerce-pagination ul.page-numbers li { margin:0!important; border:0!important; }
.tt-commerce .woocommerce-pagination .page-numbers a,
.tt-commerce .woocommerce-pagination .page-numbers span { display:grid!important; place-items:center!important; min-width:44px!important; height:44px!important; padding:0 12px!important; border:1px solid #ded7ce!important; border-radius:999px!important; background:#fff!important; color:#4b4540!important; font-size:12px!important; font-weight:800!important; line-height:1!important; }
.tt-commerce .woocommerce-pagination .page-numbers .current,
.tt-commerce .woocommerce-pagination .page-numbers a:hover { border-color:var(--tt-ink)!important; background:var(--tt-ink)!important; color:#fff!important; }
html.tt-commerce-ajax body.tt-commerce-archive .tt-woo-catalog .woocommerce-pagination { position:absolute!important; width:1px!important; height:1px!important; margin:-1px!important; padding:0!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; clip-path:inset(50%)!important; white-space:nowrap!important; }

/* Automatic AJAX product stream */
.tt-product-stream[hidden] { display:none!important; }
.tt-product-stream { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-height:116px; margin:38px auto 0; text-align:center; color:#81786f; cursor:default; }
.tt-product-stream__seal { position:relative; width:48px; height:48px; display:grid; place-items:center; border:1px solid #ded5c9; border-radius:50%; background:#fff; color:var(--tt-red); box-shadow:0 10px 30px rgba(38,31,25,.06); }
.tt-product-stream__seal::after { content:""; position:absolute; inset:-4px; border:2px solid transparent; border-top-color:var(--tt-red); border-right-color:rgba(181,138,77,.7); border-radius:50%; opacity:0; }
.tt-product-stream__seal span { font-family:Georgia,'Times New Roman',serif; font-size:15px; font-weight:700; letter-spacing:-.04em; }
.tt-product-stream__label { max-width:420px; font-size:11px; font-weight:700; line-height:1.45; letter-spacing:.02em; }
.tt-product-stream[data-state="loading"] .tt-product-stream__seal::after { opacity:1; animation:ttProductLoaderSpin .82s linear infinite; }
.tt-product-stream[data-state="loading"] .tt-product-stream__seal { animation:ttProductLoaderPulse 1.15s ease-in-out infinite; }
.tt-product-stream[data-state="loading"] .tt-product-stream__label { color:#4d4741; }
.tt-product-stream[data-state="done"] { min-height:92px; }
.tt-product-stream[data-state="done"] .tt-product-stream__seal { width:36px; height:36px; border-color:#d9d0c6; background:var(--tt-paper); color:#7c736a; }
.tt-product-stream[data-state="done"] .tt-product-stream__seal span { font-size:12px; }
.tt-product-stream[data-state="error"] { cursor:pointer; }
.tt-product-stream[data-state="error"] .tt-product-stream__seal { border-color:rgba(198,33,39,.35); background:#fff8f7; }
.tt-product-stream[data-state="error"] .tt-product-stream__label { color:var(--tt-red); text-decoration:underline; text-underline-offset:3px; }
@keyframes ttProductLoaderSpin { to { transform:rotate(360deg); } }
@keyframes ttProductLoaderPulse { 50% { transform:scale(.94); box-shadow:0 7px 22px rgba(38,31,25,.04); } }

.tt-product-card--enter { opacity:0!important; transform:translateY(22px) scale(.985)!important; }
.tt-product-card--enter.is-visible { opacity:1!important; transform:translateY(0) scale(1)!important; transition:opacity .48s ease var(--tt-card-delay,0ms),transform .58s cubic-bezier(.2,.72,.2,1) var(--tt-card-delay,0ms),box-shadow .28s ease,border-color .28s ease!important; }

/* Notices / empty states */
.tt-commerce .woocommerce-info,
.tt-commerce .woocommerce-message,
.tt-commerce .woocommerce-error { border:1px solid var(--tt-line)!important; border-radius:18px!important; background:var(--tt-paper)!important; box-shadow:none!important; }
.tt-commerce .woocommerce-info::before,
.tt-commerce .woocommerce-message::before { color:var(--tt-red)!important; }

/* Single product framing */
.tt-product-breadcrumb-band { padding:27px 0; border-bottom:1px solid var(--tt-line); background:var(--tt-paper); }
.tt-product-stage { padding:54px 0 100px; background:#fff; }
.tt-product-page div.product { color:var(--tt-ink); }
.tt-product-page .product-image-summary,
.tt-product-page div.product > .product-image-summary { display:grid!important; grid-template-columns:minmax(0,1.08fr) minmax(420px,.82fr)!important; gap:clamp(42px,6vw,92px)!important; align-items:start!important; margin-bottom:70px!important; }
.tt-product-page .product-images,
.tt-product-page .woocommerce-product-gallery { position:relative!important; float:none!important; width:auto!important; margin:0!important; }
.tt-product-page .product-images .woocommerce-product-gallery__wrapper,
.tt-product-page .woocommerce-product-gallery__wrapper { overflow:hidden; border:1px solid var(--tt-line); border-radius:30px; background:linear-gradient(145deg,#fbf8f3,#f0e8dc); }
.tt-product-page .woocommerce-product-gallery__image a { display:block; }
.tt-product-page .woocommerce-product-gallery__image img { width:100%!important; height:auto!important; margin:0!important; object-fit:contain!important; background:transparent!important; }
.tt-product-page .woocommerce-product-gallery .flex-control-thumbs { display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr))!important; gap:10px!important; margin:13px 0 0!important; }
.tt-product-page .woocommerce-product-gallery .flex-control-thumbs li { float:none!important; width:auto!important; margin:0!important; }
.tt-product-page .woocommerce-product-gallery .flex-control-thumbs img { border:1px solid var(--tt-line)!important; border-radius:14px!important; background:#faf7f1!important; opacity:.65!important; }
.tt-product-page .woocommerce-product-gallery .flex-control-thumbs img.flex-active { border-color:#b8aa98!important; opacity:1!important; }
.tt-product-page .summary,
.tt-product-page .summary-inner { float:none!important; width:auto!important; margin:0!important; }
.tt-product-page .summary-inner { position:sticky; top:112px; padding:34px 36px 36px; border:1px solid var(--tt-line); border-radius:28px; background:#fff; box-shadow:0 20px 60px rgba(30,25,21,.07); }
.admin-bar .tt-product-page .summary-inner { top:144px; }
.tt-product-kicker { margin:0 0 15px; color:var(--tt-red); font-size:10px; font-weight:850; letter-spacing:.13em; line-height:1.4; text-transform:uppercase; }
.tt-product-kicker a { color:var(--tt-red)!important; }
.tt-product-page .product_title { margin:0 0 18px!important; color:#171513!important; font-size:clamp(38px,4.25vw,58px)!important; font-weight:650!important; letter-spacing:-.05em!important; line-height:1.02!important; text-wrap:balance; }
.tt-product-page .woocommerce-product-rating { display:flex!important; align-items:center!important; gap:10px!important; margin:0 0 17px!important; color:#746d66!important; font-size:12px!important; }
.tt-product-page .summary .price { margin:0 0 24px!important; color:#171513!important; font-size:clamp(26px,3vw,36px)!important; font-weight:820!important; line-height:1.2!important; }
.tt-product-page .summary .price del { color:#9a928b!important; font-size:.58em!important; font-weight:600!important; opacity:1!important; }
.tt-product-page .summary .price ins { color:var(--tt-red)!important; font-weight:850!important; text-decoration:none!important; }
.tt-product-page .woocommerce-product-details__short-description { margin:0 0 26px!important; color:#635c55!important; font-size:15px!important; line-height:1.72!important; }
.tt-product-page .woocommerce-product-details__short-description p:last-child { margin-bottom:0!important; }
.tt-product-page form.cart { margin:0 0 22px!important; padding:24px 0 0!important; border-top:1px solid var(--tt-line)!important; }
.tt-product-page table.variations { margin:0 0 18px!important; border:0!important; }
.tt-product-page table.variations tr { display:grid!important; grid-template-columns:100px minmax(0,1fr)!important; align-items:center!important; gap:10px!important; margin-bottom:12px!important; }
.tt-product-page table.variations th,
.tt-product-page table.variations td { padding:0!important; border:0!important; background:transparent!important; }
.tt-product-page table.variations label { color:#302c28!important; font-size:12px!important; font-weight:800!important; }
.tt-product-page table.variations select { width:100%!important; height:48px!important; border:1px solid #ded7ce!important; border-radius:14px!important; background:#faf9f7!important; color:#27231f!important; font-size:13px!important; box-shadow:none!important; }
.tt-product-page .reset_variations { display:inline-block!important; margin-top:7px!important; color:#8d8379!important; font-size:11px!important; text-decoration:underline!important; text-underline-offset:3px!important; }
.tt-product-page .quantity { height:52px!important; border:1px solid #ded7ce!important; border-radius:999px!important; background:#fff!important; overflow:hidden!important; }
.tt-product-page .quantity input[type="number"] { height:50px!important; border:0!important; background:#fff!important; box-shadow:none!important; }
.tt-product-page .single_add_to_cart_button,
.tt-product-page .wd-buy-now-btn,
.tt-product-page .single_buy_now_button,
.tt-product-page button.buy_now_button { min-height:52px!important; margin:0!important; padding:0 24px!important; border:0!important; border-radius:999px!important; background:var(--tt-red)!important; color:#fff!important; font-size:12px!important; font-weight:850!important; letter-spacing:.01em!important; line-height:52px!important; text-transform:none!important; box-shadow:none!important; transition:.2s ease!important; }
.tt-product-page .single_add_to_cart_button:hover { background:var(--tt-red-dark)!important; transform:translateY(-1px); }
.tt-product-page .wd-buy-now-btn,
.tt-product-page .single_buy_now_button,
.tt-product-page button.buy_now_button { background:var(--tt-ink)!important; }
.tt-product-page .wd-buy-now-btn:hover,
.tt-product-page .single_buy_now_button:hover,
.tt-product-page button.buy_now_button:hover { background:#302b27!important; }
.tt-product-page .product_meta { display:grid!important; gap:8px!important; margin:24px 0 0!important; padding:20px 0 0!important; border-top:1px solid var(--tt-line)!important; color:#898078!important; font-size:11px!important; line-height:1.5!important; }
.tt-product-page .product_meta > span { display:block!important; }
.tt-product-page .product_meta a { color:#443e39!important; font-weight:700!important; }
.tt-product-page .product_meta a:hover { color:var(--tt-red)!important; }

/* Promise cards inside the purchase panel */
.tt-product-promises { display:grid; grid-template-columns:1fr; gap:8px; margin:23px 0 0; padding:18px 0 0; border-top:1px solid var(--tt-line); }
.tt-product-promise { display:flex; align-items:center; gap:12px; min-height:52px; padding:10px 12px; border-radius:14px; background:var(--tt-paper); }
.tt-product-promise__icon { flex:0 0 28px; width:28px; height:28px; display:grid; place-items:center; border:1px solid #d9cdbd; border-radius:50%; color:var(--tt-red); font-family:Georgia,'Times New Roman',serif; font-size:13px; font-weight:700; }
.tt-product-promise span:last-child { display:grid; gap:2px; }
.tt-product-promise strong { color:#282420; font-size:11px; font-weight:800; line-height:1.2; }
.tt-product-promise small { color:#817970; font-size:10px; line-height:1.3; }

/* Existing support/shipping/QR blocks become quiet cards rather than visual noise */
.tt-product-page .summary .wd-accordion,
.tt-product-page .summary .shipping-calculator-form,
.tt-product-page .summary .woocommerce-shipping-calculator,
.tt-product-page .summary .product-share,
.tt-product-page .summary .wd-social-icons,
.tt-product-page .summary .product-extra-content { border-radius:16px; }
.tt-product-page .summary input[type="text"],
.tt-product-page .summary input[type="email"],
.tt-product-page .summary input[type="tel"],
.tt-product-page .summary select { border-radius:12px!important; }

/* Service strip */
.tt-product-service-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 70px; }
.tt-product-service-strip article { display:grid; grid-template-columns:auto 1fr; gap:16px; min-height:145px; padding:24px; border:1px solid var(--tt-line); border-radius:20px; background:var(--tt-paper); }
.tt-service-index { color:var(--tt-red); font-family:Georgia,'Times New Roman',serif; font-size:15px; }
.tt-product-service-strip strong { display:block; margin:0 0 7px; color:#24211e; font-size:16px; line-height:1.2; }
.tt-product-service-strip p { margin:0; color:#746d66; font-size:12px; line-height:1.6; }

/* Product tabs / long-form description */
.tt-product-page .woocommerce-tabs,
.tt-product-page .tabs-layout-tabs { clear:both!important; margin:0!important; padding:0!important; border:0!important; }
.tt-product-page .woocommerce-tabs ul.tabs,
.tt-product-page .tabs-layout-tabs .tabs { display:flex!important; gap:8px!important; overflow-x:auto!important; margin:0 0 34px!important; padding:0 0 14px!important; border:0!important; border-bottom:1px solid var(--tt-line)!important; list-style:none!important; scrollbar-width:none; }
.tt-product-page .woocommerce-tabs ul.tabs::-webkit-scrollbar { display:none; }
.tt-product-page .woocommerce-tabs ul.tabs::before,
.tt-product-page .woocommerce-tabs ul.tabs::after { display:none!important; content:none!important; }
.tt-product-page .woocommerce-tabs ul.tabs li { flex:0 0 auto!important; margin:0!important; padding:0!important; border:0!important; background:transparent!important; }
.tt-product-page .woocommerce-tabs ul.tabs li::before,
.tt-product-page .woocommerce-tabs ul.tabs li::after { display:none!important; content:none!important; }
.tt-product-page .woocommerce-tabs ul.tabs li a { display:inline-flex!important; align-items:center!important; min-height:40px!important; padding:0 14px!important; border:1px solid transparent!important; border-radius:999px!important; color:#655f58!important; font-size:11px!important; font-weight:800!important; line-height:1!important; text-transform:none!important; }
.tt-product-page .woocommerce-tabs ul.tabs li.active a,
.tt-product-page .woocommerce-tabs ul.tabs li a:hover { border-color:var(--tt-ink)!important; background:var(--tt-ink)!important; color:#fff!important; }
.tt-product-page .woocommerce-Tabs-panel,
.tt-product-page .wc-tab { max-width:980px; margin:0 auto 72px!important; padding:0!important; color:#302d2a; font-size:17px; line-height:1.82; }
.tt-product-page .woocommerce-Tabs-panel h2,
.tt-product-page .woocommerce-Tabs-panel h3,
.tt-product-page .wc-tab h2,
.tt-product-page .wc-tab h3 { color:#171513; letter-spacing:-.035em; line-height:1.12; }
.tt-product-page .woocommerce-Tabs-panel h2,
.tt-product-page .wc-tab h2 { margin:1.7em 0 .7em; font-size:clamp(30px,3vw,42px); font-weight:670; }
.tt-product-page .woocommerce-Tabs-panel h3,
.tt-product-page .wc-tab h3 { margin:1.5em 0 .6em; font-size:25px; }
.tt-product-page .woocommerce-Tabs-panel p,
.tt-product-page .wc-tab p { margin:0 0 1.45em; }
.tt-product-page .woocommerce-Tabs-panel img,
.tt-product-page .wc-tab img { border-radius:18px; }
.tt-product-page .woocommerce-Tabs-panel table,
.tt-product-page .wc-tab table { overflow:hidden; border:1px solid var(--tt-line)!important; border-radius:16px; }

/* Reviews */
.tt-product-page #reviews { max-width:980px; margin-inline:auto; }
.tt-product-page #review_form_wrapper { margin-top:28px; padding:28px; border:1px solid var(--tt-line); border-radius:22px; background:var(--tt-paper); }
.tt-product-page #review_form input[type="text"],
.tt-product-page #review_form input[type="email"],
.tt-product-page #review_form textarea,
.tt-product-page #review_form select { border:1px solid #ddd5ca!important; border-radius:12px!important; background:#fff!important; box-shadow:none!important; }
.tt-product-page #review_form .submit { min-height:46px!important; padding:0 20px!important; border:0!important; border-radius:999px!important; background:var(--tt-ink)!important; color:#fff!important; font-size:11px!important; font-weight:800!important; }

/* Related / upsell products reuse the archive card language */
.tt-product-page .related,
.tt-product-page .upsells { margin-top:78px!important; padding-top:68px!important; border-top:1px solid var(--tt-line)!important; }
.tt-product-page .related > h2,
.tt-product-page .upsells > h2 { margin:0 0 30px!important; color:#171513!important; font-size:clamp(34px,4vw,50px)!important; font-weight:650!important; letter-spacing:-.045em!important; line-height:1.03!important; }
.tt-product-page .related ul.products,
.tt-product-page .upsells ul.products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:22px!important; margin:0!important; padding:0!important; }
.tt-product-page .related ul.products li.product,
.tt-product-page .upsells ul.products li.product { float:none!important; width:auto!important; margin:0!important; overflow:hidden!important; border:1px solid var(--tt-line)!important; border-radius:22px!important; background:#fff!important; }
.tt-product-page .related ul.products li.product img,
.tt-product-page .upsells ul.products li.product img { aspect-ratio:1/1.03!important; width:100%!important; margin:0!important; padding:14px!important; object-fit:contain!important; background:linear-gradient(145deg,#f7f2eb,#eee5d9)!important; }
.tt-product-page .related ul.products li.product .woocommerce-loop-product__title,
.tt-product-page .upsells ul.products li.product .woocommerce-loop-product__title { margin:16px 18px 10px!important; padding:0!important; color:#1b1917!important; font-size:17px!important; font-weight:690!important; line-height:1.25!important; }
.tt-product-page .related ul.products li.product .price,
.tt-product-page .upsells ul.products li.product .price { margin:0 18px 20px!important; color:#171513!important; font-size:15px!important; font-weight:800!important; }

@media (max-width:1180px) {
  .tt-commerce .products { gap:18px 14px!important; }
  .tt-commerce .products .product-element-bottom { padding:16px 15px 18px!important; }
  .tt-commerce .products .price,
  .tt-commerce ul.products li.product .price { font-size:15px!important; }
  .tt-product-page .product-image-summary,
  .tt-product-page div.product > .product-image-summary { grid-template-columns:minmax(0,1fr) minmax(390px,.9fr)!important; gap:42px!important; }
  .tt-product-page .related ul.products,
  .tt-product-page .upsells ul.products { grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:16px!important; }
}

@media (max-width:900px) {
  .tt-commerce-container { width:min(var(--tt-commerce-container),calc(100% - 32px)); }
  .tt-store-hero { padding:42px 0 58px; }
  .tt-store-hero .tt-commerce-breadcrumb { margin-bottom:32px; }
  .tt-store-hero__grid { grid-template-columns:1fr; gap:24px; }
  .tt-store-hero__mark { display:none; }
  .tt-store-hero__toolbar { margin-top:32px; }
  .tt-store-discovery__inner { display:grid; grid-template-columns:1fr; gap:4px; padding:12px 0 15px; }
  .tt-store-topic-nav { width:100%; order:2; padding:5px 0 0; }
  .tt-store-search { width:100%; flex-basis:auto; }
  .tt-store-catalog { padding:58px 0 78px; }
  .tt-product-stage { padding:38px 0 72px; }
  .tt-product-page .product-image-summary,
  .tt-product-page div.product > .product-image-summary { display:block!important; margin-bottom:52px!important; }
  .tt-product-page .summary,
  .tt-product-page .summary-inner { margin-top:28px!important; }
  .tt-product-page .summary-inner { position:static!important; padding:28px!important; }
  .tt-product-service-strip { grid-template-columns:1fr; }
  .tt-product-page .related ul.products,
  .tt-product-page .upsells ul.products { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}

@media (max-width:767px) {
  .tt-commerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:16px!important; }
  .tt-store-hero__toolbar { align-items:flex-start; flex-direction:column; gap:13px; }
  .tt-store-hero__ordering { width:100%; margin-left:0; justify-content:space-between; }
  .tt-store-hero__ordering .woocommerce-ordering { flex:1 1 auto; }
  .tt-store-hero__ordering .woocommerce-ordering select { width:100%!important; min-width:0!important; }
  .tt-product-stream { min-height:96px; margin-top:26px; }
}

@media (max-width:580px) {
  .tt-store-hero h1 { font-size:48px; }
  .tt-store-hero p { font-size:16px; }
  .tt-store-catalog__heading { display:block; margin-bottom:26px; }
  .tt-store-rule { display:none; }
  .tt-commerce ul.products { gap:16px!important; }
  .tt-commerce ul.products li.product,
  .tt-commerce .products .product-grid-item { border-radius:18px!important; }
  .tt-commerce .products .product-wrapper { border-radius:17px!important; }
  .tt-commerce .products .product-element-top,
  .tt-commerce ul.products li.product > a.woocommerce-LoopProduct-link { border-radius:17px 17px 0 0!important; }
  .tt-commerce .products .product-element-bottom { padding:14px 13px 16px!important; }
  .tt-commerce .products .wd-entities-title,
  .tt-commerce ul.products li.product .woocommerce-loop-product__title { font-size:15px!important; }
  .tt-commerce .products .price,
  .tt-commerce ul.products li.product .price { font-size:14px!important; }
  .tt-commerce .products .wd-add-btn a,
  .tt-commerce ul.products li.product .button { min-height:39px!important; padding:0 10px!important; font-size:10px!important; }
  .tt-commerce .products .product-labels { top:10px!important; left:10px!important; }
  .tt-commerce .products .product-label,
  .tt-commerce ul.products li.product .onsale { min-height:25px!important; padding:0 8px!important; font-size:9px!important; line-height:25px!important; }
  .tt-commerce .products .wd-buttons { top:9px!important; right:9px!important; }
  .tt-product-breadcrumb-band { padding:20px 0; }
  .tt-product-page .product-images .woocommerce-product-gallery__wrapper,
  .tt-product-page .woocommerce-product-gallery__wrapper { border-radius:20px; }
  .tt-product-page .summary-inner { padding:22px 18px!important; border-radius:21px; }
  .tt-product-page .product_title { font-size:38px!important; }
  .tt-product-page table.variations tr { grid-template-columns:1fr!important; gap:5px!important; }
  .tt-product-page .single_add_to_cart_button,
  .tt-product-page .wd-buy-now-btn,
  .tt-product-page .single_buy_now_button,
  .tt-product-page button.buy_now_button { width:100%!important; margin-top:8px!important; }
  .tt-product-page .quantity { margin-right:8px!important; }
  .tt-product-service-strip article { min-height:0; padding:20px; }
  .tt-product-page .related ul.products,
  .tt-product-page .upsells ul.products { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:14px!important; }
  .tt-product-page .related ul.products li.product .woocommerce-loop-product__title,
  .tt-product-page .upsells ul.products li.product .woocommerce-loop-product__title { margin:13px 12px 8px!important; font-size:14px!important; }
  .tt-product-page .related ul.products li.product .price,
  .tt-product-page .upsells ul.products li.product .price { margin:0 12px 15px!important; font-size:13px!important; }
}

@media (prefers-reduced-motion:reduce) {
  .tt-commerce *, .tt-commerce *::before, .tt-commerce *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
  .tt-product-card--enter { opacity:1!important; transform:none!important; }
}


/* v2.1.1 — Woodmart catalog grid hard lock.
   Woodmart may render the archive loop as DIV.products.row / wd-products-holder
   and assign Bootstrap-like col widths after page load. These selectors cover
   both WooCommerce UL loops and Woodmart DIV loops, then neutralize child
   width/flex rules so four columns stay mathematically aligned on desktop. */
@media (min-width:768px) {
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .products,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog ul.products,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog div.products,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .products.row,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .wd-products,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .wd-products-holder {
    --wd-col:4!important;
    --wd-cols:4!important;
    --wd-products-columns:4!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-auto-rows:1fr!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:24px 22px!important;
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .products > .product,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .products > .product-grid-item,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .products > .wd-product,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .products > [class*="col-"],
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .wd-products-holder > .product,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .wd-products-holder > .product-grid-item,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .wd-products-holder > .wd-product,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .wd-products > .product,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .wd-products > .product-grid-item,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .wd-products > .wd-product {
    grid-column:auto!important;
    float:none!important;
    flex:none!important;
    flex-basis:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}

@media (max-width:767px) {
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .products,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog ul.products,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog div.products,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .products.row,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .wd-products,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .wd-products-holder {
    --wd-col:2!important;
    --wd-cols:2!important;
    --wd-products-columns:2!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    gap:16px!important;
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .products > .product,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .products > .product-grid-item,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .products > .wd-product,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .products > [class*="col-"],
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .wd-products-holder > .product,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .wd-products-holder > .product-grid-item,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .wd-products-holder > .wd-product,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .wd-products > .product,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .wd-products > .product-grid-item,
  body.tt-commerce-archive .tt-commerce .tt-woo-catalog .wd-products > .wd-product {
    float:none!important;
    flex:none!important;
    flex-basis:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}


/* v2.1.2 — the TT editorial hero is the sole archive hero.
   WoodMart can output its native page title from either Theme Settings or a
   Product Archive Layout, so cover both standard title variants here. */
body.tt-commerce-archive .wd-page-title,
body.tt-commerce-archive.woodmart-archive-shop .wd-page-title,
body.tt-commerce-archive .page-title.title-shop,
body.tt-commerce-archive .page-title.shop-title,
body.tt-commerce-archive .page-title[class*="title-design-"],
body.tt-commerce-archive .woodmart-shop-title,
body.tt-commerce-archive .shop-title-wrapper,
body.tt-commerce-archive .woocommerce-products-header,
body.tt-commerce-archive .wd-shop-title {
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}


/* v2.1.3 — single product pages use the TT product stage as the sole hero.
   Hide WoodMart/WooCommerce page-title bands that can be printed by Theme
   Settings or a Single Product layout above our custom template. */
body.tt-commerce-single .wd-page-title,
body.tt-commerce-single.single-product .wd-page-title,
body.tt-commerce-single .page-title[class*="title-design-"],
body.tt-commerce-single .woodmart-page-title,
body.tt-commerce-single .single-product-page-title,
body.tt-commerce-single .product-page-title,
body.tt-commerce-single .title-wrapper.wd-page-title {
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}
