/* Layout v2. The storefront uses the same mobile-first hierarchy at all widths. */
:root[data-theme=light]{
  --bg:#f4f7f1;--surface:#fff;--ink:#121a13;--muted:#536458;--green:#08712a;--line:#e1e8df;--tint:#eaf7e8;
  --tj-promo:#fff7f8;--tj-red:#cb0033;--tj-card-shadow:0 5px 15px #2237230b;
}
:root[data-theme=dark]{--tj-promo:#39212a;--tj-red:#a30b37;--tj-card-shadow:0 5px 15px #0003}
html body{background:var(--bg);background-image:none;color:var(--ink)}
body::before,body::after{content:none}
body [hidden]{display:none!important}
.tj-site-header,.tj-page{width:min(100% - 32px,960px);max-width:none;margin-inline:auto;padding-inline:0}
.tj-site-header{padding-top:1.15rem}
.tj-site-header.profile-hidden{display:none}
.tj-page{padding-top:1.1rem;padding-bottom:8rem;min-height:80vh}
.tj-page-home{padding-top:.85rem}
.tj-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem}
.tj-greeting{display:flex;gap:.7rem;align-items:center;color:var(--ink)}
.tj-greeting .customer-avatar{width:2.9rem;height:2.9rem}
.tj-greeting small,.tj-greeting strong{display:block;line-height:1.22}
.tj-greeting small{font-size:.8rem;color:var(--muted);margin-bottom:.2rem}
.tj-greeting strong{font-size:1.17rem}
.tj-round{display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;flex-shrink:0;border-radius:50%;background:var(--surface);color:var(--ink);box-shadow:var(--tj-card-shadow);border:1px solid var(--line)}
.tj-round .icon{width:1.3rem;height:1.3rem}
.tj-round.saved{color:#c0234a}
.tj-round.saved .icon{fill:currentColor}
.tj-search{display:flex;align-items:center;gap:.55rem;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:0 .8rem;min-height:2.65rem;box-shadow:var(--tj-card-shadow)}
.tj-search .icon{width:1.1rem;height:1.1rem;flex-shrink:0}
.tj-search input{font:inherit;border:0;background:none;color:inherit;flex:1;min-width:0}
.tj-search button{height:2.5rem;min-width:2rem}
.tj-promo-card{isolation:isolate;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.46rem;background:var(--tj-promo);color:var(--ink);min-height:clamp(7.5rem,16vw,11rem);padding:1rem .65rem;border:1px solid #ee154828;border-radius:1.15rem;text-align:center}
.tj-promo-card::before,.tj-promo-card::after{content:'';position:absolute;z-index:-1;pointer-events:none;width:40%;height:95%;border-radius:50%;background:linear-gradient(132deg,#b9002b,#ff1748 55%,#ffb6c7 76%,transparent 77%);transform:rotate(-29deg)}
.tj-promo-card::before{top:-65%;left:-12%}
.tj-promo-card::after{bottom:-65%;right:-12%;rotate:180deg}
.tj-promo-top{display:block;background:var(--tj-red);color:white;border-radius:999px;padding:.3em .85em;font-size:clamp(.78rem,2.7vw,1.24rem);line-height:1.3;font-weight:850;font-style:italic}
.tj-promo-card strong{font-weight:900;font-style:italic;font-size:clamp(1.25rem,4.6vw,2.7rem);line-height:1.16;letter-spacing:-.035em}
.tj-promo-card em{background:var(--tj-red);color:#fff;border-radius:.26em;padding:.04em .25em}
.tj-collection{margin-top:1rem}
.tj-collection .section-head{margin-bottom:.65rem}
.tj-collection h1{font-size:clamp(1.4rem,4.8vw,2.1rem);margin:0}
.tj-category-buttons{display:flex;overflow:auto;gap:.53rem;margin-bottom:.9rem;padding:.12rem .12rem .25rem;scrollbar-width:thin}
.tj-category{display:grid;place-items:center;overflow:hidden;flex:0 0 auto;border-radius:50%;width:3rem;height:3rem;border:1px solid var(--line);color:var(--ink);background:var(--surface);font-weight:800;font-size:.59rem}
.tj-category img{width:100%;height:100%;object-fit:cover;scale:1.12}
.tj-category.active{background:#111;color:#fff;border:2px solid #111}
.tj-category.active:has(img){border-color:var(--green)}
.tj-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.tj-page .tj-card{margin:0;border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:var(--surface);box-shadow:var(--tj-card-shadow)}
.tj-page .tj-card .photo-wrap,.tj-page .tj-card .product-open{display:block;aspect-ratio:1.28;height:auto;border-radius:0;width:100%;overflow:hidden;background:#f1f2ef}
.tj-page .tj-card .shoe-photo{width:100%;height:100%;object-fit:cover;object-position:center;aspect-ratio:auto}
.tj-page .tj-card .favorite{top:.38rem;right:.38rem;border-radius:50%;width:2rem;height:2rem;color:#182018;background:#fff}
.tj-page .tj-card .favorite.saved{color:#c0234a}
.tj-card .product-info{position:relative;padding:.58rem .55rem;min-height:3.8rem}
.tj-card .product-info h3{margin:0 0 .3rem;font-size:.9rem;line-height:1.22}
.tj-card .product-info h3 button{text-align:left}
.tj-card .product-info .price{color:var(--green);font-size:.9rem;margin:0;padding-right:1.7rem;line-height:1.2}
.tj-card-bag{position:absolute;right:.46rem;bottom:.43rem;display:grid;place-items:center;width:1.85rem;height:1.85rem;background:#111;color:#fff;border-radius:50%}
.tj-page-catalog .tj-card-bag{background:#0b7b31;border-radius:.48rem}
.tj-card-bag .icon{width:1rem;height:1rem}
#bottom-nav.bottom-nav{background:var(--surface);border:1px solid var(--line);border-radius:2rem;box-shadow:0 10px 30px #182d2222;width:min(100% - 24px,480px);padding:.34rem;bottom:calc(.6rem + env(safe-area-inset-bottom,0px))}
#bottom-nav a{color:var(--ink);min-height:3.2rem;padding:0;gap:.16rem;font-size:.66rem}
#bottom-nav a .nav-icon{height:2.25rem;width:2.25rem;min-width:2.25rem;display:grid;place-items:center;position:relative;border:0;border-radius:50%;background:#fff;color:#121512;box-shadow:0 2px 8px #0001}
#bottom-nav a.active .nav-icon{background:#111;color:#fff;box-shadow:0 2px 8px #0003}
#bottom-nav .nav-liquid-lens{background:var(--tint);border:0;box-shadow:none;opacity:.45;border-radius:1.6rem;height:90%;top:5%}
#bottom-nav .nav-liquid-lens::before{display:none}
#bottom-nav a .nav-icon>.icon{width:1.24rem;height:1.24rem}
.tj-page-product .product-detail{display:grid;gap:1rem;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start}
.tj-product-media{position:relative;min-width:0}
.tj-product-bar{display:grid;grid-template-columns:auto 1fr auto auto;gap:.38rem;position:absolute;top:.6rem;left:.6rem;right:.6rem;z-index:3;pointer-events:none}
.tj-product-bar a,.tj-product-bar button{pointer-events:auto}
.tj-product-media .gallery-stage,.tj-product-media .gallery-viewport{background:#f0f1ef;border-radius:1.1rem}
.tj-product-media .gallery-stage>img{width:100%;aspect-ratio:1 / 1;object-fit:cover;object-position:center}
.tj-page-product .detail-copy{border:1px solid var(--line);border-radius:1.55rem;background:var(--surface);padding:1.05rem;box-shadow:var(--tj-card-shadow)}
.tj-page-product .detail-copy h1{margin:0 0 .2rem;font-size:clamp(1.4rem,4vw,2.25rem)}
.tj-page-product .detail-copy .price{color:var(--green)}
.tj-page-product .detail-category{margin:0 0 .45rem;color:var(--muted)}
.tj-page-product .tj-buy-now{background:#121512;color:white;border-color:#121512}
.tj-page-product .tj-buy-actions{gap:.45rem;flex-wrap:nowrap}
.tj-page-product .tj-buy-actions .button{flex:1 1 0;padding:.45rem;font-size:.82rem;line-height:1.15}
.tj-page-product .tj-buy-actions .icon{width:1rem;height:1rem;display:block}
.tj-page-cart .cart-heading{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-bottom:.85rem}
.tj-page-cart .cart-heading h1{margin:0}
.tj-cart-count{color:var(--green);background:var(--tint);padding:.28rem .55rem;border-radius:999px;font-size:.73rem}
.tj-page-cart .clear-cart{margin-left:auto;display:flex;align-items:center;gap:.25rem;color:var(--muted);font-size:.72rem;padding:.2rem}
.tj-page-cart .clear-cart .icon{width:.85rem;height:.85rem}
.tj-page-cart .cart-item{grid-template-columns:1.15rem minmax(3rem,5rem) minmax(0,1fr);align-items:center;min-height:5.7rem;padding:.55rem;gap:.55rem}
.tj-page-cart .cart-item .cart-image{width:100%;height:3.9rem;object-fit:cover}
.tj-page-cart .cart-item .item-meta{font-size:.72rem}
.tj-cart-row-price{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.28rem}
.tj-cart-row-price .price{font-size:.82rem;color:var(--green);margin:0}
.tj-cart-row-price .quantity{margin:0}
.tj-page-cart .cart-item .item-tools{top:50%;right:.42rem;bottom:auto;transform:translateY(-50%)}
.tj-page-cart .cart-item.is-swiped{padding-right:3.1rem}
.tj-page-cart .summary{border-radius:1.15rem;padding:1rem}
.tj-page-cart .summary .button{border-radius:999px;background:#086629;color:white;border-color:#086629}
.tj-page-cart .summary-total{color:var(--green)}
.tj-page-catalog .tj-catalog-tools{padding:.7rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface)}
.tj-page-profile .tj-identity{background:var(--surface)}
.tj-page-profile .tj-group{box-shadow:var(--tj-card-shadow)}
.tj-page-orders .tj-order-card{max-width:none}
@media(min-width:760px){
 .tj-page .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
 .tj-page .tj-card .photo-wrap,.tj-page .tj-card .product-open{aspect-ratio:1.15}
}
@media(max-width:620px){
 .tj-site-header,.tj-page{width:calc(100% - 24px)}
 .tj-page-product .product-detail{display:block}
 .tj-page-product .detail-copy{margin-top:-.75rem;position:relative}
 .tj-page-product .gallery-stage>img{aspect-ratio:1.12 / 1}
 .tj-page-cart .cart-layout{gap:.75rem}
}
@media(prefers-reduced-motion:no-preference){.tj-card,.tj-round,.tj-category{transition:box-shadow .2s,border-color .2s,transform .2s}.tj-card:hover,.tj-round:hover{transform:translateY(-2px)}}

#checkout-dialog,#point-dialog{border-radius:1.15rem;background:var(--bg);color:var(--ink);border:1px solid var(--line)}
#checkout-dialog{width:min(100% - 20px,660px);max-width:660px;padding:1.05rem}
#checkout-dialog .checkout-layout{grid-template-columns:1fr;gap:.15rem}
#checkout-dialog .checkout-top h1{font-size:1.37rem}
.tj-checkout-steps{list-style:none;display:flex;align-items:center;gap:.8rem;padding:0;margin:.7rem 0 1.15rem;color:var(--muted);font-size:.83rem}
.tj-checkout-steps li{display:flex;align-items:center;gap:.3rem}
.tj-checkout-steps b{display:grid;place-items:center;width:1.6rem;height:1.6rem;background:var(--surface);border:1px solid var(--line);border-radius:50%}
.tj-checkout-steps .active{color:var(--green);font-weight:800}
.tj-checkout-steps .active b{background:#0b7430;color:white;border-color:#0b7430}
#checkout-dialog .checkout-section{margin-bottom:1rem}
#checkout-dialog .checkout-section h2,#checkout-dialog .checkout-summary h2,#checkout-dialog .tj-payment-screen h2{font-size:1.05rem;margin:0 0 .65rem}
#checkout-dialog .checkout-customer-summary{margin:.5rem 0;padding:.55rem;border-radius:.9rem;background:var(--surface)}
#checkout-dialog .checkout-summary{padding:.75rem;background:var(--surface);border-radius:.9rem}
#checkout-dialog .summary-total b{color:var(--green)}
#checkout-dialog .tj-payment-screen .checkout-payment label.tj-pay-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem}
#checkout-dialog .tj-pay-choice small{display:block;color:var(--muted);line-height:1.2;margin-top:.2rem}
#checkout-dialog .tj-pay-choice input{accent-color:var(--green)}
#checkout-dialog .tj-pay-choice:has(input:checked:not(:disabled)){background:var(--tint);border-color:var(--green)}
.tj-pay-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.55rem;background:var(--tint);color:var(--green);font-size:1.1rem}
.tj-pay-brands{display:flex;gap:1rem;padding:.55rem}
#checkout-dialog .tj-payment-screen>p{margin:.7rem 0}
#checkout-dialog .button.primary{background:#086629;color:#fff;border-color:#086629}
#point-dialog{width:min(100% - 20px,660px);max-width:660px}
#point-dialog .point-picker-layout{display:flex;flex-direction:column;gap:.6rem}
#pickup-map{min-height:13rem;height:clamp(13rem,34dvh,19rem);flex:none}
#point-dialog .point-results{max-height:12rem}
@media(max-width:650px){
 #checkout-dialog,#point-dialog{margin:auto;width:min(100% - 16px,660px);height:auto;max-height:calc(100dvh - 16px);border-radius:1.05rem}
}
