/*
Theme Name: Tomi Power Stone
Theme URI: https://staging.tomipowerstone.com
Author: Tomi Power Stone
Description: A Japanese WooCommerce storefront theme for natural-stone jewelry.
Version: 0.1.56
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: tomipowerstone
*/

:root { --tps-ink:#1A1A1A; --tps-muted:#5F5F5B; --tps-paper:#E7E7E4; --tps-surface:#F2F2F0; --tps-section-deep:#DADAD6; --tps-section-mid:#C9C9C4; --tps-section-soft:#ECECEA; --tps-sand:#DADAD6; --tps-dark:#202020; --tps-charcoal:#242424; --tps-metal:#8C8C87; --tps-line:#B8B8B3; --tps-white:#F5F5F2; --tps-footer:#161616; --tps-serif:"Noto Serif JP", "Yu Mincho", YuMincho, serif; --tps-sans:"Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; --tps-shadow:0 18px 42px rgba(26,26,26,.09); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--tps-ink); background:var(--tps-paper); font-family:var(--tps-sans); font-size:16px; line-height:1.8; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--tps-dark); }
img { max-width:100%; height:auto; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }
.screen-reader-text:focus { clip:auto!important; clip-path:none; display:block; height:auto; left:1rem; padding:.6rem 1rem; top:1rem; width:auto; z-index:100000; background:var(--tps-surface); }
.tps-shell { width:min(1180px, calc(100% - 3rem)); margin-inline:auto; }
.tps-site-header { background:rgba(231,231,228,.96); border-bottom:1px solid var(--tps-line); position:sticky; top:0; z-index:20; backdrop-filter:blur(10px); }
.tps-header-inner { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; min-width:0; }
.tps-brand { font-family:var(--tps-serif); font-size:1.22rem; font-weight:700; letter-spacing:.08em; white-space:nowrap; }
.tps-nav ul { display:flex; align-items:center; gap:1.25rem; list-style:none; margin:0; padding:0; }
.tps-nav a { font-size:.84rem; font-weight:600; }
.tps-nav .current-menu-item > a, .tps-nav .current_page_item > a { border-bottom:1px solid var(--tps-ink); padding-bottom:.2rem; }
.tps-header-actions { display:flex; gap:.8rem; align-items:center; font-size:.83rem; white-space:nowrap; }
.tps-cart-link { border-left:1px solid var(--tps-line); padding-left:.8rem; }
.tps-menu-toggle { display:none; align-items:center; background:transparent; border:1px solid var(--tps-line); border-radius:0; justify-content:center; line-height:1; padding:.55rem .7rem; white-space:nowrap; writing-mode:horizontal-tb; }
.tps-hero { background:linear-gradient(90deg,var(--tps-section-deep) 0 64%,var(--tps-section-mid) 64% 100%); border-bottom:1px solid var(--tps-line); overflow:hidden; }
.tps-hero-inner { min-height:580px; display:grid; align-items:center; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:clamp(2.5rem,6vw,6.5rem); }
.tps-eyebrow { color:var(--tps-muted); font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.tps-hero h1 { font-family:var(--tps-serif); font-size:clamp(2.3rem,5vw,4.7rem); font-weight:500; letter-spacing:.08em; line-height:1.35; margin:.7rem 0 1.1rem; position:relative; }
.tps-hero h1:after { background:var(--tps-ink); content:""; display:block; height:1px; margin-top:1.35rem; width:72px; }
.tps-lead { color:var(--tps-muted); max-width:35rem; }
.tps-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.tps-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { background:var(--tps-dark)!important; border:1px solid var(--tps-dark)!important; border-radius:0!important; color:var(--tps-white)!important; display:inline-flex; align-items:center; justify-content:center; font-family:var(--tps-sans); font-size:.85rem!important; font-weight:700!important; letter-spacing:.05em; min-height:46px; padding:.65rem 1.25rem!important; transition:background .2s ease,border-color .2s ease; }
.tps-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background:#000!important; border-color:#000!important; color:var(--tps-white)!important; }
.tps-button--ghost { background:transparent!important; color:var(--tps-ink)!important; border-color:var(--tps-ink)!important; }
.tps-button--ghost:hover { background:var(--tps-ink)!important; color:var(--tps-white)!important; }
.tps-hero-orb { align-self:stretch; background:var(--tps-section-mid); border-left:1px solid var(--tps-ink); border-right:1px solid rgba(26,26,26,.2); display:block; min-height:430px; overflow:hidden; position:relative; }
.tps-hero-orb:before { color:var(--tps-ink); content:"01"; font-family:var(--tps-serif); font-size:clamp(5rem,10vw,9rem); font-weight:400; left:8%; letter-spacing:-.08em; line-height:1; opacity:.9; position:absolute; top:8%; }
.tps-hero-orb:after { border-bottom:1px solid var(--tps-ink); color:var(--tps-ink); content:"NATURAL STONE / JEWELRY"; font-size:.64rem; letter-spacing:.22em; padding-bottom:.8rem; position:absolute; right:8%; text-align:right; top:50%; transform:rotate(90deg) translateX(50%); transform-origin:right center; width:250px; }
.tps-hero-orb.has-image:before, .tps-hero-orb.has-image:after { display:none; }
.tps-hero-image { height:100%; inset:0; object-fit:cover; position:absolute; width:100%; }
.tps-section { background:var(--tps-surface); padding:6rem 0; }
.tps-section--sand { background:var(--tps-section-mid); }
.tps-section--dark { background:var(--tps-charcoal); color:var(--tps-white); }
.tps-section--dark .tps-eyebrow, .tps-section--dark .tps-section-heading > a { color:#BDBDB8; }
.tps-section--dark .tps-section-heading > a { border-bottom:1px solid #777772; padding-bottom:.2rem; }
.tps-section--dark ul.products li.product .woocommerce-loop-product__title, .tps-section--dark ul.products li.product .price { color:var(--tps-white)!important; }
.tps-section--dark ul.products li.product .stock { color:#BDBDB8!important; }
.tps-section--dark ul.products li.product a img { background:var(--tps-surface); }
.tps-section--dark a.button { background:transparent!important; border-color:#858580!important; color:var(--tps-white)!important; }
.tps-section--dark a.button:hover { background:var(--tps-white)!important; border-color:var(--tps-white)!important; color:var(--tps-ink)!important; }
.tps-section-title { font-family:var(--tps-serif); font-size:clamp(1.6rem,3vw,2.4rem); font-weight:500; letter-spacing:.08em; line-height:1.45; margin:0; }
.tps-section-heading { align-items:end; display:flex; justify-content:space-between; gap:2rem; margin-bottom:2.2rem; }
.tps-section-heading p { color:var(--tps-muted); font-size:.9rem; margin:0; max-width:33rem; }
.tps-section-description p { margin:.55rem 0 0; }
.tps-section--dark .tps-section-description p { color:#BDBDB8; }
.tps-category-grid { counter-reset:tps-collection; display:grid; gap:1.25rem; grid-template-columns:repeat(4,minmax(0,1fr)); }
.tps-category-card { background:var(--tps-section-deep); border:1px solid var(--tps-line); counter-increment:tps-collection; display:block; min-height:230px; min-width:0; overflow:hidden; padding:1.35rem; position:relative; box-shadow:none; transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.tps-category-card:before { background:var(--tps-dark); content:""; height:1px; left:1.35rem; position:absolute; top:1.15rem; width:28px; }
.tps-category-card:after { bottom:.85rem; color:rgba(26,26,26,.18); content:"0" counter(tps-collection); font-family:var(--tps-serif); font-size:4.6rem; line-height:1; position:absolute; right:1rem; }
.tps-category-card:nth-child(even) { background:var(--tps-section-soft); }
.tps-category-card:hover { background:var(--tps-section-mid); border-color:var(--tps-dark); transform:translateY(-3px); }
.tps-category-card span, .tps-category-card strong { display:block; position:relative; z-index:1; }
.tps-category-card span { color:var(--tps-muted); font-size:.7rem; letter-spacing:.12em; margin-bottom:1.3rem; padding-top:1rem; text-transform:uppercase; }
.tps-category-card strong { font-family:var(--tps-serif); font-size:1.35rem; font-weight:500; letter-spacing:.06em; }
.tps-category-card em { bottom:1.2rem; color:var(--tps-muted); font-size:.78rem; font-style:normal; left:1.35rem; position:absolute; z-index:1; }
.tps-category-card__image { height:100%!important; inset:0; margin:0!important; object-fit:cover; opacity:.58; position:absolute; transition:opacity .2s ease,transform .25s ease; width:100%; }
.tps-category-card.has-image { background:var(--tps-dark); color:var(--tps-white); }
.tps-category-card.has-image:before { background:var(--tps-white); }
.tps-category-card.has-image:after { color:rgba(245,245,242,.38); }
.tps-category-card.has-image span, .tps-category-card.has-image em { color:#E0E0DC; }
.tps-category-card.has-image:hover { background:var(--tps-dark); color:var(--tps-white); }
.tps-category-card.has-image:hover .tps-category-card__image { opacity:.68; transform:scale(1.025); }
.tps-product-grid ul.products, .woocommerce ul.products { display:grid; gap:1.6rem; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none!important; margin:0!important; padding:0!important; }
.woocommerce ul.products li.product, .tps-product-grid ul.products li.product { float:none!important; margin:0!important; min-width:0; width:auto!important; }
.woocommerce ul.products li.product a img { margin-bottom:.85rem!important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--tps-ink); font-family:var(--tps-serif); font-size:1rem!important; font-weight:500; line-height:1.65; padding:0!important; }
.woocommerce ul.products li.product .price { color:var(--tps-ink)!important; font-size:.9rem!important; }
.woocommerce span.onsale { background:var(--tps-dark)!important; border-radius:0!important; min-height:0!important; min-width:auto!important; padding:.35rem .55rem!important; }
.tps-empty-products { background:#1D1D1D; border:1px solid #555550; color:#C9C9C4; padding:3rem 2rem; text-align:center; }
.tps-story { display:grid; gap:4rem; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; }
.tps-section#stone-story { background:var(--tps-section-soft); border-bottom:1px solid var(--tps-line); border-top:1px solid var(--tps-line); }
.tps-story-art { background:linear-gradient(135deg,var(--tps-section-mid) 0 55%,var(--tps-section-deep) 55% 100%); border:1px solid #A8A8A3; min-height:390px; position:relative; }
.tps-story-art:before { color:#4C4C49; content:"TOMI\A NATURAL STONE"; font-family:var(--tps-serif); font-size:clamp(1.35rem,3vw,2rem); letter-spacing:.18em; line-height:1.8; position:absolute; right:10%; text-align:right; top:13%; white-space:pre; }
.tps-story-art:after { border:1px solid rgba(26,26,26,.34); content:""; inset:13%; position:absolute; }
.tps-story-art.has-image:before, .tps-story-art.has-image:after { display:none; }
.tps-story-image { height:100%!important; inset:0; object-fit:cover; position:absolute; width:100%; }
.tps-story-copy p { color:var(--tps-muted); }
.tps-story-body p { margin:.75rem 0 1.5rem; }
.tps-values { display:grid; gap:1px; grid-template-columns:repeat(3,minmax(0,1fr)); background:#9E9E99; border:1px solid #9E9E99; }
.tps-value { background:var(--tps-paper); padding:2rem; }
.tps-value b { color:#555551; display:block; font-family:var(--tps-serif); font-size:1.5rem; font-weight:500; margin-bottom:.7rem; }
.tps-value p { color:var(--tps-muted); font-size:.86rem; margin:0; }
.tps-value-description p { margin:.4rem 0 0; }
.tps-site-footer { background:var(--tps-footer); color:var(--tps-white); padding:4rem 0 2rem; }
.tps-footer-grid { display:grid; gap:2rem; grid-template-columns:minmax(220px,1.2fr) repeat(auto-fit,minmax(180px,1fr)); }
.tps-footer-title { font-family:var(--tps-serif); font-size:1.25rem; letter-spacing:.08em; }
.tps-footer-heading { color:var(--tps-white)!important; font-size:.72rem!important; font-weight:700; letter-spacing:.18em; margin-top:0; }
.tps-site-footer p, .tps-site-footer li { color:#B8B8B4; font-size:.82rem; }
.tps-footer-description p { margin:.55rem 0 0; max-width:32rem; }
.tps-site-footer ul { list-style:none; margin:0; padding:0; }
.tps-site-footer li + li { margin-top:.55rem; }
.tps-footer-bottom { border-top:1px solid #3A3A38; color:#9B9B96; font-size:.72rem; margin-top:3rem; padding-top:1.25rem; }
.tps-page-header { background:var(--tps-section-deep); border-bottom:1px solid var(--tps-line); padding:4rem 0; }
.tps-page-header h1, .entry-title, .woocommerce-products-header__title { font-family:var(--tps-serif); font-size:clamp(2rem,4vw,3.2rem); font-weight:500; letter-spacing:.06em; margin:0; }
.tps-content { padding:4rem 0 6rem; }
.entry-content { max-width:820px; } .entry-content h2, .entry-content h3 { font-family:var(--tps-serif); font-weight:500; }
.woocommerce .woocommerce-breadcrumb { color:var(--tps-muted); font-size:.8rem; margin-bottom:1.5rem; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom:2rem; }
.woocommerce div.product .product_title { font-family:var(--tps-serif); font-size:2rem; font-weight:500; line-height:1.55; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--tps-ink); font-size:1.25rem; }
.woocommerce div.product form.cart .button { min-height:48px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color:var(--tps-dark)!important; }
.woocommerce-message::before, .woocommerce-info::before { color:var(--tps-dark)!important; }
.woocommerce-error { border-top-color:#7A2A2A!important; }
.tps-catalog-breadcrumb { padding-top:1.25rem; }
.tps-catalog-breadcrumb .woocommerce-breadcrumb { margin:0; }
.tps-catalog-header { background:var(--tps-section-deep); border-bottom:1px solid var(--tps-line); margin-top:1.25rem; padding:4.5rem 0; }
.tps-catalog-header__inner { max-width:860px; }
.tps-catalog-header h1 { font-family:var(--tps-serif); font-size:clamp(2.25rem,5vw,4.25rem); font-weight:500; letter-spacing:.08em; line-height:1.3; margin:.45rem 0 1.25rem; }
.tps-catalog-description { color:var(--tps-muted); max-width:680px; }
.tps-catalog-description p, .tps-catalog-description .term-description { margin-bottom:0; }
.tps-catalog-main { background:var(--tps-surface); padding:4.5rem 0 6rem; }
.tps-catalog-categories { border-bottom:1px solid var(--tps-line); margin-bottom:4rem; padding-bottom:4rem; }
.tps-catalog-section-heading { align-items:end; display:flex; justify-content:space-between; margin-bottom:1.5rem; }
.tps-catalog-section-heading h2 { font-family:var(--tps-serif); font-size:clamp(1.45rem,2.5vw,2rem); font-weight:500; letter-spacing:.07em; margin:.25rem 0 0; }
.tps-catalog-category-grid { display:grid; gap:1px; grid-template-columns:repeat(4,minmax(0,1fr)); background:var(--tps-line); border:1px solid var(--tps-line); }
.tps-catalog-category { background:var(--tps-section-soft); display:flex; flex-direction:column; min-height:170px; min-width:0; padding:1.35rem; position:relative; transition:background .2s ease,color .2s ease; }
.tps-catalog-category:after { background:var(--tps-ink); bottom:1.35rem; content:""; height:1px; position:absolute; right:1.35rem; width:28px; }
.tps-catalog-category:hover { background:var(--tps-dark); color:var(--tps-white); }
.tps-catalog-category span { color:var(--tps-muted); font-size:.65rem; letter-spacing:.18em; text-transform:uppercase; }
.tps-catalog-category:hover span, .tps-catalog-category:hover small { color:#BDBDB8; }
.tps-catalog-category strong { font-family:var(--tps-serif); font-size:1.15rem; font-weight:500; letter-spacing:.06em; margin-top:.8rem; overflow-wrap:anywhere; }
.tps-catalog-category small { color:var(--tps-muted); font-size:.74rem; margin-top:auto; }
.tps-catalog-tools { align-items:center; border-bottom:1px solid var(--tps-line); display:flex; flex-wrap:wrap; justify-content:space-between; margin-bottom:2rem; min-height:64px; padding:.8rem 0; }
.tps-catalog-tools .woocommerce-notices-wrapper { flex-basis:100%; }
.tps-catalog-tools .woocommerce-result-count, .tps-catalog-tools .woocommerce-ordering { float:none!important; margin:0!important; }
.tps-catalog-tools select { background:var(--tps-surface); border:1px solid var(--tps-line); border-radius:0; color:var(--tps-ink); font:inherit; min-height:42px; padding:.45rem 2.2rem .45rem .75rem; }
.woocommerce ul.products:before, .woocommerce ul.products:after { content:none!important; display:none!important; }
.tps-catalog-products ul.products li.product { background:var(--tps-section-soft); border-bottom:1px solid var(--tps-line); padding-bottom:1.25rem; }
.tps-catalog-products ul.products li.product .woocommerce-loop-product__link { display:block; }
.tps-catalog-products ul.products li.product a img { aspect-ratio:1; background:var(--tps-paper); margin:0 0 1rem!important; object-fit:cover; width:100%; }
.tps-catalog-products ul.products li.product .woocommerce-loop-product__title, .tps-catalog-products ul.products li.product .price { margin-left:1rem!important; margin-right:1rem!important; }
.tps-catalog-products ul.products li.product .price { display:block; margin-bottom:1rem!important; }
.tps-catalog-products ul.products li.product .stock { color:var(--tps-muted)!important; font-size:.76rem; margin:0 1rem .8rem; }
.tps-catalog-products ul.products li.product > .button { margin-left:1rem!important; margin-right:1rem!important; }
.tps-catalog-pagination { margin-top:3.5rem; }
.woocommerce nav.woocommerce-pagination ul { border:0!important; display:flex; gap:.35rem; 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 { align-items:center; border:1px solid var(--tps-line); display:flex; height:42px; justify-content:center; min-width:42px; padding:.4rem!important; }
.woocommerce nav.woocommerce-pagination ul li span.current, .woocommerce nav.woocommerce-pagination ul li a:hover { background:var(--tps-dark)!important; color:var(--tps-white)!important; }
.tps-catalog-empty .woocommerce-info { background:var(--tps-section-soft); border:1px solid var(--tps-line); color:var(--tps-ink); margin:0; padding:2rem 2rem 2rem 3.5rem!important; }

/* Phase 6: native WooCommerce product and purchase path. */
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select, .woocommerce-page input.input-text, .woocommerce-page textarea, .woocommerce-page select { background:var(--tps-surface); border:1px solid var(--tps-line); border-radius:0; color:var(--tps-ink); font:inherit; max-width:100%; min-height:46px; padding:.55rem .75rem; }
.woocommerce textarea, .woocommerce-page textarea { min-height:120px; resize:vertical; }
.woocommerce form .form-row label { color:var(--tps-muted); font-size:.82rem; font-weight:700; letter-spacing:.03em; }
.woocommerce form .form-row .required { color:#7A2A2A; }
.woocommerce .select2-container .select2-selection--single { background:var(--tps-surface); border:1px solid var(--tps-line); border-radius:0; height:46px; }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height:44px; padding-left:.75rem; }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height:44px; }
.wc-block-components-button { background:var(--tps-dark)!important; border:1px solid var(--tps-dark)!important; border-radius:0!important; color:var(--tps-white)!important; font-weight:700; min-height:48px; }
.wc-block-components-button:hover { background:#000!important; border-color:#000!important; color:var(--tps-white)!important; }

.tps-product-breadcrumb { padding-top:1.25rem; }
.tps-product-breadcrumb .woocommerce-breadcrumb { margin:0; }
.tps-product-main { background:var(--tps-surface); margin-top:1.25rem; padding:4.5rem 0 6rem; }
.tps-product-page > div.product { display:grid; gap:clamp(2.5rem,5vw,5.5rem); grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr); margin:0; min-width:0; }
.tps-product-page > div.product::before, .tps-product-page > div.product::after { content:none!important; display:none!important; }
.tps-product-page > div.product > .woocommerce-product-gallery { float:none!important; grid-column:1; margin:0!important; min-width:0; width:auto!important; }
.tps-product-page > div.product > .summary { align-self:start; background:var(--tps-section-soft); border-top:3px solid var(--tps-dark); float:none!important; grid-column:2; margin:0!important; min-width:0; padding:clamp(1.5rem,3vw,2.5rem); width:auto!important; }
.tps-product-page .woocommerce-product-gallery__wrapper { margin:0; }
.tps-product-page .woocommerce-product-gallery__image a { background:var(--tps-paper); display:block; }
.tps-product-page .woocommerce-product-gallery__image img { display:block; width:100%; }
.tps-product-page .flex-control-thumbs { display:grid; gap:.65rem; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:.75rem!important; }
.tps-product-page .flex-control-thumbs li { float:none!important; width:auto!important; }
.tps-product-page .product_title { overflow-wrap:anywhere; }
.tps-product-page .summary .price { border-bottom:1px solid var(--tps-line); display:block; margin:.7rem 0 1.25rem; padding-bottom:1.25rem; }
.tps-product-page .summary .woocommerce-product-details__short-description { color:var(--tps-muted); }
.tps-product-page .summary .stock { color:var(--tps-muted); font-size:.85rem; font-weight:700; }
.tps-product-page .summary form.cart { align-items:stretch; display:flex; flex-wrap:wrap; gap:.75rem; margin:1.5rem 0!important; }
.tps-product-page .summary form.cart::before, .tps-product-page .summary form.cart::after { content:none!important; display:none!important; }
.tps-product-page .summary form.cart .quantity { float:none!important; margin:0!important; }
.tps-product-page .summary form.cart .qty { background:var(--tps-surface); border:1px solid var(--tps-line); border-radius:0; min-height:48px; width:5rem; }
.tps-product-page .summary form.cart .single_add_to_cart_button { flex:1 1 12rem; min-height:48px; }
.tps-product-page .summary form.cart .variations { flex:1 0 100%; margin-bottom:.75rem; width:100%; }
.tps-product-page .summary form.cart .variations th, .tps-product-page .summary form.cart .variations td { display:block; padding:.25rem 0; text-align:left; width:100%; }
.tps-product-page .summary form.cart .variations select { width:100%; }
.tps-product-page .summary form.cart .reset_variations { display:inline-block; font-size:.78rem; margin-top:.45rem; text-decoration:underline; }
.tps-product-page .summary form.cart .single_variation_wrap { flex:1 0 100%; }
.tps-product-page .summary form.cart .woocommerce-variation-add-to-cart { align-items:stretch; display:flex; flex-wrap:wrap; gap:.75rem; }
.tps-product-page .product_meta { border-top:1px solid var(--tps-line); color:var(--tps-muted); display:grid; font-size:.78rem; gap:.35rem; margin-top:1.5rem; padding-top:1.25rem; }
.tps-product-page .product_meta > span { display:block; }
.tps-purchase-guide { border-bottom:1px solid var(--tps-line); border-top:1px solid var(--tps-line); display:grid; gap:1rem; margin:1.5rem 0; padding:1.2rem 0; }
.tps-purchase-guide__item { display:grid; gap:.25rem; grid-template-columns:minmax(7rem,.38fr) minmax(0,1fr); }
.tps-purchase-guide__item strong { font-family:var(--tps-serif); font-size:.88rem; font-weight:600; }
.tps-purchase-guide__item p { color:var(--tps-muted); font-size:.78rem; margin:0; }
.tps-purchase-guide__link { font-size:.78rem; font-weight:700; text-decoration:underline; text-underline-offset:.25em; }
.tps-product-page > div.product > .woocommerce-tabs, .tps-product-page > div.product > .related, .tps-product-page > div.product > .up-sells { grid-column:1 / -1; min-width:0; }
.tps-product-page .woocommerce-tabs { border-top:1px solid var(--tps-line); margin-top:1rem; padding-top:3.5rem; }
.tps-product-page .woocommerce-tabs ul.tabs { display:flex; gap:0; margin:0 0 2rem!important; padding:0!important; }
.tps-product-page .woocommerce-tabs ul.tabs::before { border-bottom-color:var(--tps-line)!important; }
.tps-product-page .woocommerce-tabs ul.tabs li { background:transparent!important; border:0!important; border-bottom:1px solid var(--tps-line)!important; border-radius:0!important; margin:0!important; padding:0!important; }
.tps-product-page .woocommerce-tabs ul.tabs li::before, .tps-product-page .woocommerce-tabs ul.tabs li::after { content:none!important; }
.tps-product-page .woocommerce-tabs ul.tabs li a { font-size:.84rem; padding:.8rem 1.2rem!important; }
.tps-product-page .woocommerce-tabs ul.tabs li.active { border-bottom:2px solid var(--tps-dark)!important; }
.tps-product-page .woocommerce-Tabs-panel { max-width:880px; }
.tps-product-page .woocommerce-Tabs-panel h2, .tps-product-page .related > h2, .tps-product-page .up-sells > h2 { font-family:var(--tps-serif); font-size:clamp(1.45rem,2.5vw,2rem); font-weight:500; letter-spacing:.06em; }
.tps-product-page .shop_attributes { border-color:var(--tps-line)!important; }
.tps-product-page .shop_attributes th, .tps-product-page .shop_attributes td { border-color:var(--tps-line)!important; padding:.7rem!important; }
.tps-product-page .related, .tps-product-page .up-sells { border-top:1px solid var(--tps-line); padding-top:3.5rem; }

body.woocommerce-cart .entry-content, body.woocommerce-checkout .entry-content, body.woocommerce-account .entry-content { max-width:none; }
.woocommerce-cart-form, .woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review, .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { background:var(--tps-section-soft); border-top:3px solid var(--tps-dark); padding:clamp(1.25rem,3vw,2rem); }
.woocommerce table.shop_table { background:var(--tps-surface); border:1px solid var(--tps-line); border-collapse:collapse; border-radius:0; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color:var(--tps-line); padding:.9rem; }
.woocommerce-cart table.cart img { width:84px; }
.woocommerce-cart table.cart td.actions .coupon { display:flex; gap:.5rem; }
.woocommerce-cart table.cart td.actions .coupon .input-text { flex:1 1 10rem; margin:0!important; width:auto!important; }
.woocommerce .cart-collaterals { margin-top:2rem; }
.woocommerce .cart-collaterals .cart_totals { float:none; margin-left:auto; width:min(100%,520px); }
.woocommerce .cart-collaterals .cart_totals h2, .woocommerce-checkout #order_review_heading, .woocommerce-account .woocommerce-MyAccount-content h2 { font-family:var(--tps-serif); font-weight:500; letter-spacing:.05em; }
.woocommerce-checkout form.checkout { display:grid; gap:0 clamp(2rem,5vw,4rem); grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); }
.woocommerce-checkout form.checkout #customer_details { float:none; grid-column:1; grid-row:1 / 3; width:auto; }
.woocommerce-checkout form.checkout #customer_details .col-1, .woocommerce-checkout form.checkout #customer_details .col-2 { float:none; width:100%; }
.woocommerce-checkout form.checkout #order_review_heading { align-self:end; grid-column:2; grid-row:1; margin:0; padding:0 0 1rem; width:auto; }
.woocommerce-checkout form.checkout #order_review { align-self:start; float:none; grid-column:2; grid-row:2; width:auto; }
.woocommerce-checkout #payment { background:var(--tps-paper); border-radius:0; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color:var(--tps-line); }
.woocommerce-checkout #payment div.payment_box { background:var(--tps-section-deep); color:var(--tps-ink); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color:var(--tps-section-deep); }
.woocommerce-account .woocommerce { display:grid; gap:2rem; grid-template-columns:minmax(210px,.28fr) minmax(0,1fr); }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { content:none!important; display:none!important; }
.woocommerce-account .woocommerce-notices-wrapper, .woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register { grid-column:1 / -1; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float:none; width:auto; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li + li { border-top:1px solid var(--tps-line); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; font-size:.84rem; font-weight:700; padding:.75rem 0; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { text-decoration:underline; text-underline-offset:.3em; }
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register { background:var(--tps-section-soft); border:1px solid var(--tps-line); border-radius:0; margin-inline:auto; max-width:620px; padding:clamp(1.25rem,3vw,2rem); }
.wc-block-cart, .wc-block-checkout { max-width:none; }
.wc-block-cart__main, .wc-block-checkout__main { min-width:0; }
.wc-block-cart__sidebar, .wc-block-checkout__sidebar { background:var(--tps-section-soft); border-top:3px solid var(--tps-dark); padding:1.25rem!important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input { border-color:var(--tps-line)!important; border-radius:0!important; }

/* Phase 7: owner-managed editorial, guide, policy and contact pages. */
.tps-page-header--editorial { padding:0; }
.tps-page-header__inner { align-items:stretch; display:grid; grid-template-columns:minmax(0,1fr); min-height:300px; }
.tps-page-header--editorial.has-image .tps-page-header__inner { grid-template-columns:minmax(0,1fr) minmax(280px,.72fr); }
.tps-page-header__copy { align-self:center; max-width:780px; padding:4rem 0; }
.tps-page-header__copy .tps-eyebrow { margin:0 0 .65rem; }
.tps-page-header__summary { color:var(--tps-muted); margin-top:1rem; max-width:620px; }
.tps-page-header__summary p { margin:0; }
.tps-page-header__media { background:var(--tps-section-mid); margin:0; min-height:300px; overflow:hidden; position:relative; }
.tps-page-header__image { height:100%!important; inset:0; object-fit:cover; position:absolute; width:100%; }
.tps-standard-page .tps-page-article { min-width:0; }
.tps-standard-page .entry-content { max-width:880px; }
.tps-standard-page .entry-content > :first-child, .tps-guide-content .entry-content > :first-child { margin-top:0; }
.tps-standard-page .entry-content > :last-child, .tps-guide-content .entry-content > :last-child { margin-bottom:0; }
.tps-standard-page .entry-content h2, .tps-standard-page .entry-content h3, .tps-guide-content .entry-content h2, .tps-guide-content .entry-content h3 { color:var(--tps-ink); font-family:var(--tps-serif); font-weight:500; letter-spacing:.045em; line-height:1.55; }
.tps-standard-page .entry-content h2, .tps-guide-content .entry-content h2 { border-top:1px solid var(--tps-line); font-size:clamp(1.45rem,3vw,2rem); margin-top:3.5rem; padding-top:1.5rem; }
.tps-standard-page .entry-content h3, .tps-guide-content .entry-content h3 { font-size:1.15rem; margin-top:2.25rem; }
.tps-standard-page .entry-content p, .tps-standard-page .entry-content li, .tps-guide-content .entry-content p, .tps-guide-content .entry-content li { overflow-wrap:anywhere; }
.tps-standard-page .entry-content a:not(.button):not(.wp-element-button), .tps-guide-content .entry-content a:not(.button):not(.wp-element-button) { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.25em; }
.tps-standard-page .wp-block-button__link, .tps-guide-content .wp-block-button__link { background:var(--tps-dark); border:1px solid var(--tps-dark); border-radius:0; color:var(--tps-white); font-size:.85rem; font-weight:700; min-height:46px; padding:.65rem 1.25rem; }
.tps-standard-page .wp-block-quote, .tps-guide-content .wp-block-quote { background:var(--tps-section-soft); border-left:3px solid var(--tps-dark); margin:2rem 0; padding:1.25rem 1.5rem; }
.tps-standard-page .wp-block-table, .tps-guide-content .wp-block-table { margin:2rem 0; max-width:100%; overflow-x:auto; }
.tps-standard-page .wp-block-table table, .tps-guide-content .wp-block-table table { border-collapse:collapse; min-width:560px; width:100%; }
.tps-standard-page .wp-block-table th, .tps-standard-page .wp-block-table td, .tps-guide-content .wp-block-table th, .tps-guide-content .wp-block-table td { border:1px solid var(--tps-line); padding:.85rem; text-align:left; vertical-align:top; }
.tps-standard-page .wp-block-table th, .tps-guide-content .wp-block-table th { background:var(--tps-section-deep); font-weight:700; width:30%; }
.tps-standard-page .wp-block-separator, .tps-guide-content .wp-block-separator { border-color:var(--tps-line); margin:3rem 0; }
.tps-standard-page details, .tps-guide-content details { border-bottom:1px solid var(--tps-line); padding:1rem 0; }
.tps-standard-page summary, .tps-guide-content summary { cursor:pointer; font-weight:700; }
body:not(.woocommerce-page) .tps-standard-page form, body:not(.woocommerce-page) .tps-guide-content form { background:var(--tps-section-soft); border-top:3px solid var(--tps-dark); display:grid; gap:1rem; margin-top:2rem; padding:clamp(1.25rem,3vw,2rem); }
body:not(.woocommerce-page) .tps-standard-page form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), body:not(.woocommerce-page) .tps-standard-page form textarea, body:not(.woocommerce-page) .tps-standard-page form select, body:not(.woocommerce-page) .tps-guide-content form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), body:not(.woocommerce-page) .tps-guide-content form textarea, body:not(.woocommerce-page) .tps-guide-content form select { background:var(--tps-surface); border:1px solid var(--tps-line); border-radius:0; color:var(--tps-ink); font:inherit; max-width:100%; min-height:46px; padding:.55rem .75rem; width:100%; }
body:not(.woocommerce-page) .tps-standard-page form textarea, body:not(.woocommerce-page) .tps-guide-content form textarea { min-height:150px; resize:vertical; }
body:not(.woocommerce-page) .tps-standard-page form input[type="submit"], body:not(.woocommerce-page) .tps-guide-content form input[type="submit"] { background:var(--tps-dark); border:1px solid var(--tps-dark); border-radius:0; color:var(--tps-white); cursor:pointer; font:inherit; font-weight:700; min-height:46px; padding:.65rem 1.25rem; }
.tps-guide-layout { align-items:start; display:grid; gap:clamp(2rem,5vw,5rem); grid-template-columns:minmax(210px,.28fr) minmax(0,1fr); }
.tps-guide-layout--single { grid-template-columns:minmax(0,880px); }
.tps-guide-navigation { background:var(--tps-section-soft); border-top:3px solid var(--tps-dark); padding:1.25rem; position:sticky; top:105px; }
.tps-guide-navigation__title { color:var(--tps-muted); font-size:.7rem; font-weight:700; letter-spacing:.16em; margin:0 0 .75rem; text-transform:uppercase; }
.tps-guide-menu { list-style:none; margin:0; padding:0; }
.tps-guide-menu li + li { border-top:1px solid var(--tps-line); }
.tps-guide-menu a { display:block; font-size:.84rem; font-weight:700; padding:.7rem 0; }
.tps-guide-menu .current-menu-item > a, .tps-guide-menu .current_page_item > a { text-decoration:underline; text-underline-offset:.3em; }
.tps-guide-content { min-width:0; }
.tps-guide-content .entry-content { max-width:none; }
@media (max-width:900px) { .tps-header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:.75rem; min-height:68px; } .tps-nav { background:var(--tps-paper); border-bottom:1px solid var(--tps-line); border-top:1px solid var(--tps-line); display:none; left:0; padding:1rem max(1rem, calc((100vw - 1180px) / 2)); position:absolute; right:0; top:100%; } .tps-nav.is-open { display:block; } .tps-nav ul { display:grid; gap:.35rem; grid-template-columns:repeat(2,minmax(0,1fr)); } .tps-nav a { display:block; padding:.6rem .3rem; } .tps-menu-toggle { display:inline-flex; } .tps-header-actions { gap:.5rem; min-width:0; } .tps-hero { background:var(--tps-section-deep); } .tps-hero-inner { grid-template-columns:minmax(0,1fr); min-height:auto; padding:5rem 0; } .tps-hero-orb { aspect-ratio:16/7; min-height:180px; width:100%; } .tps-category-grid, .tps-catalog-category-grid, .tps-product-grid ul.products, .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); } .tps-story { grid-template-columns:minmax(0,1fr); gap:2rem; } }
@media (max-width:600px) { .tps-shell { width:min(100% - 2rem,1180px); } .tps-header-inner { gap:.45rem; min-height:64px; } .tps-brand { font-size:.95rem; letter-spacing:.04em; min-width:0; overflow:hidden; text-overflow:ellipsis; } .tps-header-actions { font-size:.68rem; gap:.35rem; } .tps-account-link, .tps-cart-link { white-space:nowrap; } .tps-cart-link { border-left:0; padding-left:0; } .tps-menu-toggle { font-size:.76rem; padding:.55rem .58rem; } .tps-hero-inner { gap:2.5rem; padding:3.75rem 0; } .tps-hero h1 { font-size:clamp(1.8rem,9vw,2.3rem); letter-spacing:.04em; line-height:1.35; max-inline-size:12em; overflow-wrap:anywhere; } .tps-hero-orb { aspect-ratio:4/3; min-height:170px; } .tps-hero-orb:before { font-size:4.4rem; } .tps-hero-orb:after { right:9%; width:190px; } .tps-lead, .tps-section-heading p, .tps-story-copy p { overflow-wrap:anywhere; } .tps-section { padding:4rem 0; } .tps-section-heading { align-items:start; flex-direction:column; gap:.8rem; } .tps-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; } .tps-category-card { min-height:175px; padding:1rem; } .tps-category-card:before { left:1rem; top:.9rem; } .tps-category-card:after { bottom:.7rem; font-size:3.2rem; right:.65rem; } .tps-category-card strong { font-size:1.05rem; overflow-wrap:anywhere; } .tps-category-card em { left:1rem; } .tps-product-grid ul.products, .woocommerce ul.products { gap:1rem; } .tps-values, .tps-footer-grid { grid-template-columns:minmax(0,1fr); } .tps-value { min-width:0; } .tps-story-art { min-height:275px; } .tps-page-header h1, .entry-title, .woocommerce-products-header__title { overflow-wrap:anywhere; } .tps-catalog-header { padding:3rem 0; } .tps-catalog-header h1 { overflow-wrap:anywhere; } .tps-catalog-main { padding:3rem 0 4.5rem; } .tps-catalog-categories { margin-bottom:3rem; padding-bottom:3rem; } .tps-catalog-category-grid { gap:1px; } .tps-catalog-category { min-height:150px; padding:1rem; } .tps-catalog-category:after { bottom:1rem; right:1rem; } .tps-catalog-tools { align-items:stretch; flex-direction:column; gap:.75rem; } .tps-catalog-tools .woocommerce-ordering, .tps-catalog-tools select { width:100%; } }
@media (max-width:360px) { .tps-shell { width:min(100% - 1.5rem,1180px); } .tps-brand { font-size:.88rem; } .tps-cart-link { font-size:.7rem; } .tps-menu-toggle { font-size:.7rem; padding:.5rem; } .tps-nav ul { grid-template-columns:minmax(0,1fr); } .tps-hero h1 { font-size:1.78rem; } .tps-category-grid, .tps-catalog-category-grid, .tps-catalog-products ul.products { grid-template-columns:minmax(0,1fr); } .tps-category-card { min-height:150px; } }
@media (max-width:900px) {
	.tps-product-main { padding:3.5rem 0 5rem; }
	.tps-product-page > div.product { grid-template-columns:minmax(0,1fr); }
	.tps-product-page > div.product > .woocommerce-product-gallery, .tps-product-page > div.product > .summary { grid-column:1; }
	.woocommerce-checkout form.checkout { grid-template-columns:minmax(0,1fr); }
	.woocommerce-checkout form.checkout #customer_details, .woocommerce-checkout form.checkout #order_review_heading, .woocommerce-checkout form.checkout #order_review { grid-column:1; grid-row:auto; }
	.woocommerce-checkout form.checkout #order_review_heading { margin-top:2rem; }
	.woocommerce-account .woocommerce { grid-template-columns:minmax(0,1fr); }
	.woocommerce-account .woocommerce-notices-wrapper, .woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register { grid-column:1; }
	.tps-page-header--editorial.has-image .tps-page-header__inner { grid-template-columns:minmax(0,1fr); }
	.tps-page-header__media { min-height:260px; }
	.tps-guide-layout { grid-template-columns:minmax(0,1fr); }
	.tps-guide-navigation { position:static; }
}
@media (max-width:600px) {
	.tps-product-main { padding:2.5rem 0 4rem; }
	.tps-product-page > div.product { gap:2rem; }
	.tps-product-page > div.product > .summary { padding:1.25rem; }
	.tps-product-page .summary form.cart .quantity, .tps-product-page .summary form.cart .quantity .qty, .tps-product-page .summary form.cart .single_add_to_cart_button { width:100%; }
	.tps-purchase-guide__item { grid-template-columns:minmax(0,1fr); }
	.tps-product-page .woocommerce-tabs { padding-top:2.5rem; }
	.tps-product-page .woocommerce-tabs ul.tabs { flex-wrap:wrap; }
	.tps-product-page .woocommerce-tabs ul.tabs li { flex:1 1 100%; }
	.tps-product-page .woocommerce-tabs ul.tabs li a { display:block; }
	.woocommerce-cart table.cart td.actions .coupon { align-items:stretch; flex-direction:column; }
	.woocommerce-cart table.cart td.actions .coupon .input-text, .woocommerce-cart table.cart td.actions .coupon .button, .woocommerce-cart table.cart td.actions > .button { width:100%!important; }
	.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review, .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { padding:1.1rem; }
	.tps-page-header__inner { min-height:0; }
	.tps-page-header__copy { padding:3rem 0; }
	.tps-page-header__media { min-height:220px; }
	.tps-standard-page .entry-content h2, .tps-guide-content .entry-content h2 { margin-top:2.75rem; }
	.tps-standard-page .wp-block-table th, .tps-standard-page .wp-block-table td, .tps-guide-content .wp-block-table th, .tps-guide-content .wp-block-table td { padding:.7rem; }
}

/* Owner-managed brand fallback and media-library logo; stored values remain untouched. */
.tps-brand { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; background:transparent; border:0; box-shadow:none; color:var(--tps-ink); font-family:Georgia,"Times New Roman",serif; font-size:1.1rem; font-weight:700; letter-spacing:.035em; line-height:1; padding:0; white-space:nowrap; }
.tps-brand:hover, .tps-brand:focus { color:var(--tps-ink); }
.tps-brand:focus-visible { outline:2px solid var(--tps-ink); outline-offset:3px; }
.tps-header-logo { flex-shrink:0; }
.tps-header-logo .custom-logo-link { display:flex; align-items:center; min-width:44px; min-height:44px; padding:6px; background:#161616; }
.tps-header-logo .custom-logo { display:block; width:80px; height:80px; object-fit:contain; }
@media (max-width:900px) { .tps-header-logo { grid-column:1 / -1; justify-self:start; } .tps-header-logo .custom-logo { width:64px; height:64px; } }
@media (min-width:901px) { .tps-header-inner { flex-wrap:wrap; padding-block:.7rem; gap:1rem; } .tps-nav { flex:1 1 360px; } .tps-nav ul { flex-wrap:wrap; justify-content:center; } }
@media (max-width:900px) {
  .tps-header-inner { grid-template-columns:auto minmax(0,1fr); gap:.45rem 1rem; padding-block:.6rem; }
  .tps-brand { grid-column:1 / -1; justify-self:center; font-size:1.1rem; letter-spacing:.09em; overflow:visible; text-overflow:clip; }
  .tps-menu-toggle { grid-column:1; grid-row:2; min-height:44px; min-width:44px; }
  .tps-header-actions { grid-column:2; grid-row:2; justify-self:end; flex-wrap:wrap; justify-content:flex-end; }
  .tps-header-actions a { display:inline-flex; align-items:center; min-height:44px; }
}

/* STORE35: native discovery, editor content and nested navigation. Hero untouched. */
.tps-header-search { flex:1 0 100%; }
.tps-search-form { display:flex; gap:.5rem; max-width:36rem; margin:0 auto; }
.tps-search-form input[type="search"] { flex:1; min-width:0; width:100%; min-height:44px; border:1px solid var(--tps-line); background:var(--tps-paper); padding:.65rem .8rem; color:var(--tps-ink); font:inherit; }
.tps-search-form button { min-width:64px; min-height:44px; border:0; background:#202020; color:#fff; padding:.6rem 1rem; font:inherit; cursor:pointer; }
.tps-nav li { position:relative; min-width:0; }
.tps-nav ul.sub-menu { display:grid; gap:.25rem; padding:.5rem; border:1px solid var(--tps-line); background:var(--tps-paper); }
.tps-nav ul.sub-menu a { display:block; padding:.5rem; overflow-wrap:anywhere; }
.tps-skip-link:focus { position:fixed; top:0; left:0; z-index:1000; width:auto; height:auto; clip:auto; clip-path:none; background:#202020; color:white; padding:1rem; }
.tps-story--text-only { grid-template-columns:minmax(0,1fr); }
.tps-account-password-help { line-height:1.8; overflow-wrap:anywhere; }
.tps-account-password-recovery a { display:inline-flex; align-items:center; min-height:44px; max-width:100%; padding:.5rem 0; font-weight:600; line-height:1.6; overflow-wrap:anywhere; }
.tps-story--text-only .tps-story-copy { max-width:48rem; }
.tps-home-editor { overflow-wrap:anywhere; }
@media (min-width:901px) {
 .tps-nav ul.sub-menu { position:absolute; top:100%; left:0; min-width:12rem; max-width:20rem; z-index:30; visibility:hidden; }
 .tps-nav li:hover > ul.sub-menu, .tps-nav li:focus-within > ul.sub-menu { visibility:visible; }
 .tps-nav ul.sub-menu ul.sub-menu { position:static; visibility:inherit; min-width:0; border:0; padding-left:.5rem; }
}
@media (max-width:900px) {
 .tps-header-search { grid-column:1 / -1; width:100%; }
 .tps-nav { display:block; position:static; grid-column:1 / -1; padding:.5rem 0; }
 .tps-menu-toggle { display:none; }
 .tps-navigation-ready .tps-menu-toggle { display:inline-flex; }
 .tps-navigation-ready .tps-nav { display:none; position:absolute; padding:1rem; max-height:70vh; overflow-y:auto; }
 .tps-navigation-ready .tps-nav.is-open { display:block; }
 .tps-nav ul.sub-menu { grid-template-columns:minmax(0,1fr); margin-top:.25rem; }
}

/* WC Blocks mobile rows: avoid fixed 132px track plus implicit total column. */
@media (max-width:600px) {
 .wc-block-cart table.wc-block-cart-items { table-layout:fixed; width:100%; border-spacing:0; }
 .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row { grid-template-columns:64px minmax(0,1fr); column-gap:12px; }
 .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image { grid-column:1; grid-row:1; padding-right:0; }
 .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product { grid-column:2; grid-row:1; min-width:0; overflow-wrap:anywhere; }
 .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total { grid-column:2; grid-row:2; min-width:0; padding-top:.75rem; justify-content:flex-end; }
}

/* Home recommendations: size from rendered products, not the requested shortcode limit. */
.tps-featured .tps-product-grid { --tps-featured-gap:1.6rem; }
.tps-featured .tps-product-grid ul.products:before,
.tps-featured .tps-product-grid ul.products:after { content:none!important; display:none!important; }
.tps-featured .tps-product-grid:has(ul.products > li.product:only-child) { width:calc((100% - 3 * var(--tps-featured-gap)) / 4); margin-inline:auto; }
.tps-featured .tps-product-grid ul.products:has(> li.product:only-child) { grid-template-columns:minmax(0,1fr)!important; }
.tps-featured .tps-product-grid ul.products li.product { height:100%; display:flex!important; flex-direction:column; }
.tps-featured .tps-product-grid ul.products li.product .woocommerce-loop-product__link { display:block; min-width:0; }
.tps-featured .tps-product-grid ul.products li.product a img { display:block; width:100%; aspect-ratio:1/1; height:auto!important; object-fit:contain; }
.tps-featured .tps-product-grid ul.products li.product .woocommerce-loop-product__title { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-height:1.5em; line-height:1.5; max-width:100%; -webkit-line-clamp:unset; }
.tps-featured .tps-product-grid ul.products li.product .price { display:flex; align-items:center; align-content:center; flex-wrap:wrap; gap:.3rem; min-height:3em; margin-bottom:.75rem; }
.tps-featured .tps-product-grid ul.products li.product > .button { margin-top:auto!important; }
@media (max-width:900px) {
 .tps-featured .tps-product-grid:has(ul.products > li.product:only-child) { width:calc((100% - var(--tps-featured-gap)) / 2); }
 .tps-featured .tps-product-grid ul.products { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media (max-width:600px) { .tps-featured .tps-product-grid { --tps-featured-gap:1rem; } }

/* Keep native Woo prices legible on charcoal, including non-sale and nested amounts.
 * Scope and specificity beat the generic light-catalog !important rule above. */
.tps-featured .tps-product-grid ul.products li.product .price,
.tps-featured .tps-product-grid ul.products li.product .price .amount,
.tps-featured .tps-product-grid ul.products li.product .price ins {
 color:#f7f7f4!important;
 opacity:1;
}
.tps-featured .tps-product-grid ul.products li.product .price ins {
 font-weight:700;
 text-decoration:none;
}
.tps-featured .tps-product-grid ul.products li.product .price del,
.tps-featured .tps-product-grid ul.products li.product .price del .amount {
 color:#c5c5c0!important;
 opacity:1;
}
.tps-featured .tps-product-grid ul.products li.product .price del {
 font-size:.8em;
 text-decoration:line-through;
}
