/* Shop-only layer: no header/footer selectors, no query replacement. */
body.tp-shop #main{--ts-wine:#7a1526;--ts-ink:#30282a;--ts-line:#e8dce0;background:#faf7f5;color:var(--ts-ink);padding:28px 0 48px}
body.tp-shop #main .category-page-row{max-width:1240px;margin:auto;padding:0 24px}
body.tp-shop #main .category-page-row>.col{padding:0;min-width:0}
body.tp-shop #main .tp-shop-intro{border:1px solid var(--ts-line);border-left:4px solid var(--ts-wine);background:#fff;border-radius:14px;padding:28px 32px;margin-bottom:24px}
body.tp-shop #main .tp-shop-eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--ts-wine);margin:0 0 10px}
body.tp-shop #main .tp-shop-intro h1{font-size:clamp(28px,3vw,40px);line-height:1.25;color:var(--ts-wine);margin:0 0 14px}
body.tp-shop #main .tp-shop-intro p:last-child{font-size:16px;line-height:1.7;color:#66585d;margin:0;max-width:70ch}
body.tp-shop #main .tp-shop-tools{background:#fff;border:1px solid var(--ts-line);border-radius:12px;padding:20px;margin:0 0 24px}
body.tp-shop #main .tp-shop-filter{display:grid;grid-template-columns:minmax(180px,2fr) minmax(100px,1fr) minmax(100px,1fr) auto auto;gap:14px;align-items:end;margin:0}
body.tp-shop #main .tp-shop-filter label{margin:0;color:var(--ts-ink);font-size:13px}
body.tp-shop #main .tp-shop-filter input{margin:6px 0 0;width:100%;min-height:46px;border:1px solid #bca8b0;border-radius:7px;box-shadow:none;font-size:16px}
body.tp-shop #main .tp-shop-filter button{margin:0;min-height:46px;border-radius:7px;background:var(--ts-wine);color:#fff;text-transform:none;letter-spacing:0;font-size:14px}
body.tp-shop #main .tp-shop-reset{display:flex;align-items:center;justify-content:center;min-height:46px;color:var(--ts-wine);text-decoration:underline;font-size:13px}
body.tp-shop #main .tp-shop-order{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px solid var(--ts-line);margin-top:18px;padding-top:18px}
body.tp-shop #main .woocommerce-result-count,body.tp-shop #main .woocommerce-ordering{margin:0;color:#66585d;font-size:14px}
body.tp-shop #main .woocommerce-ordering select{margin:0;min-height:46px;border-radius:7px;max-width:100%;font-size:14px;border-color:#bca8b0}
body.tp-shop #main .products.row{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 18px;margin:0;max-width:none;width:100%}
body.tp-shop #main .products.row>.product-small.col{width:100%!important;max-width:100%!important;flex:none!important;padding:0!important;min-width:0}
body.tp-shop #main .products.row>.product-small.col>.col-inner{width:100%!important;max-width:none!important;padding:0!important}
body.tp-shop #main .products.row .product-small.box{width:100%!important;max-width:none!important;padding:0!important}
body.tp-shop #main .products.row .box-text{height:auto!important;max-height:none!important}
body.tp-shop #main .products.row .name{height:auto!important;max-height:none!important;overflow:visible!important;-webkit-line-clamp:unset!important}
body.tp-shop #main .products>.col>.col-inner{height:100%;border:1px solid var(--ts-line);border-radius:12px;background:#fff;overflow:hidden}
body.tp-shop #main .product-small.box{border:0;background:transparent;height:100%}
body.tp-shop #main .box-image{aspect-ratio:1/1;background:#fff}
body.tp-shop #main .box-image>div:first-child{height:100%;padding:0!important}
body.tp-shop #main .box-image>div:first-child>a{display:block;height:100%}
body.tp-shop #main .box-image img{width:100%;height:100%;object-fit:contain}
body.tp-shop #main .box-text{padding:16px;text-align:left}
body.tp-shop #main .product-cat{color:#66585d;opacity:1;font-size:11px}
body.tp-shop #main .name{font-size:15px;font-weight:600;line-height:1.5;min-height:45px;margin:6px 0 12px}
body.tp-shop #main .name a{color:var(--ts-ink)}
body.tp-shop #main .price{display:flex;gap:3px 10px;flex-wrap:wrap;align-items:baseline;font-size:17px;line-height:1.6;color:var(--ts-wine)}
body.tp-shop #main .price del{font-size:13px;opacity:1;color:#66585d}
body.tp-shop #main .price del .amount{color:#66585d;opacity:1}
body.tp-shop #main .price ins .amount{color:var(--ts-wine)}
body.tp-shop #main .badge-container{margin:10px}
body.tp-shop #main .badge{width:auto;height:auto}
body.tp-shop #main .badge-inner.on-sale{background:var(--ts-wine);color:white;border-radius:6px;padding:6px 9px;font-size:12px;line-height:1.4}
body.tp-shop #main .badge-inner.on-sale,body.tp-shop #main .badge-inner.on-sale .onsale{color:#fff!important}
body.tp-shop #main .woocommerce-pagination{margin-top:28px}
body.tp-shop #main .page-numbers :is(a,span){min-width:44px;min-height:44px;line-height:40px}
body.tp-shop #main :is(a,input,select,button):focus-visible{outline:3px solid var(--ts-wine);outline-offset:3px}
@media(max-width:1023px){body.tp-shop #main .products.row{grid-template-columns:repeat(3,minmax(0,1fr))}body.tp-shop #main .tp-shop-filter{grid-template-columns:repeat(2,minmax(0,1fr))}body.tp-shop #main .tp-shop-filter label:first-child{grid-column:1/-1}}
@media(max-width:549px){body.tp-shop #main{padding-top:18px}body.tp-shop #main .category-page-row{padding:0 16px}body.tp-shop #main .tp-shop-intro{padding:22px 20px}body.tp-shop #main .tp-shop-tools{padding:16px}body.tp-shop #main .products.row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}body.tp-shop #main .box-text{padding:12px 10px}body.tp-shop #main .name{font-size:13px;min-height:40px}body.tp-shop #main .price{font-size:15px}body.tp-shop #main .price del{font-size:12px}body.tp-shop #main .woocommerce-ordering,body.tp-shop #main .woocommerce-ordering select{width:100%}body.tp-shop #main .tp-shop-intro p:last-child{font-size:15px}}
