body[data-page=shop] .shop-intro,body[data-page=shop] .shop-catalog{max-width:1320px;margin:0 auto;padding-left:16px;padding-right:16px;min-width:0}body[data-page=shop] .shop-intro{padding-top:32px;padding-bottom:20px}body[data-page=shop] .shop-intro h1{font-size:clamp(2.1rem,9vw,4rem);margin-bottom:12px}body[data-page=shop] .shop-intro .lede{margin:0 0 12px}body[data-page=shop] .shop-catalog{padding-bottom:64px}body[data-page=shop] .filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;position:sticky;top:72px;z-index:5;background:var(--ink);padding:10px 0;margin:0 0 16px;border-block:1px solid var(--line)}body[data-page=shop] .filters button{min-height:44px;padding:0 12px;background:var(--ink-2);color:var(--paper-dim);border:1px solid var(--line);font-weight:600;font-size:14px}body[data-page=shop] .filters button.is-on{background:var(--paper);color:var(--ink);border-color:var(--paper)}body[data-page=shop] .product-grid{grid-template-columns:minmax(0,1fr);gap:14px}body[data-page=shop] .product-card{display:flex;flex-direction:column;min-width:0;padding:0;background:var(--ink-2);border:1px solid var(--line);border-radius:16px;overflow:hidden}body[data-page=shop] .product-media{position:relative;aspect-ratio:4 / 3;background:var(--ink-3)}body[data-page=shop] .product-media img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0}body[data-page=shop] .product-media .chip{left:12px;bottom:12px;max-width:calc(100% - 24px);overflow-wrap:anywhere}body[data-page=shop] .product-body{display:flex;flex-direction:column;gap:6px;flex:1;padding:14px}body[data-page=shop] .product-body h3{font-size:1.15rem;margin:0}body[data-page=shop] .product-body p{font-size:14px;color:var(--paper-dim);margin:0}body[data-page=shop] .product-meta{margin-top:auto;padding-top:10px;gap:10px}body[data-page=shop] .product-meta strong{font-family:Fraunces,Georgia,serif;font-size:1.2rem;font-weight:600;color:var(--paper);font-variant-numeric:tabular-nums}body[data-page=shop] .product-meta .btn{min-height:44px;padding:0 16px;background:var(--paper);color:var(--ink);border-color:var(--paper);font-weight:600}body[data-page=shop] .product-meta .btn:hover{background:var(--peach-2);border-color:var(--peach-2);color:var(--ink)}@media(min-width:720px){body[data-page=shop] .shop-intro{padding:56px 40px 28px}body[data-page=shop] .shop-catalog{padding-left:40px;padding-right:40px}body[data-page=shop] .filters{max-width:420px}body[data-page=shop] .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}body[data-page=shop] .grid-size{display:flex;align-items:center;gap:10px;margin:6px 0 0;font-size:14px;color:var(--paper-dim)}body[data-page=shop] .grid-size select{min-height:44px;min-width:0;flex:1;padding:0 10px;background:var(--ink-3);color:var(--paper);border:1px solid var(--line);border-radius:10px;font:inherit}body[data-page=shop] .shop-layout{display:block;min-width:0}body[data-page=shop] .shop-main{min-width:0}body[data-page=shop] .bag{min-width:0;margin:0 0 16px;padding:14px;background:var(--ink-2);border:1px solid var(--line);border-radius:16px;color:var(--paper)}body[data-page=shop] .bag h2{font-size:1.1rem;margin:0 0 10px}body[data-page=shop] .bag-empty,body[data-page=shop] .bag-ok,body[data-page=shop] .bag-err{margin:8px 0;font-size:14px}body[data-page=shop] .bag-empty{color:var(--paper-dim);margin:0}body[data-page=shop] .bag-ok{color:var(--peach)}body[data-page=shop] .bag-err{color:var(--paper-dim)}body[data-page=shop] .bag-lines{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}body[data-page=shop] .bag-line{display:grid;gap:6px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;min-width:0}body[data-page=shop] .bag-line-text{overflow-wrap:anywhere}body[data-page=shop] .bag-line-ctrl{display:flex;flex-wrap:wrap;align-items:center;gap:8px}body[data-page=shop] .bag-line-ctrl button{min-width:44px;min-height:44px;padding:0 10px;background:var(--ink-3);color:var(--paper);border:1px solid var(--line);border-radius:10px;font:inherit;cursor:pointer}body[data-page=shop] .bag-line-ctrl .bag-remove{background:none;border:0;color:var(--paper-dim);text-decoration:underline;padding:0 4px;min-width:0;font-size:13px}body[data-page=shop] .bag-promo{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:12px 0 4px}body[data-page=shop] .bag-promo input{min-width:0;min-height:44px;padding:0 12px;background:var(--ink-3);color:var(--paper);border:1px solid var(--line);border-radius:10px;font:inherit;text-transform:uppercase}body[data-page=shop] .bag-promo .btn{min-height:44px}body[data-page=shop] .bag-totals{margin:12px 0;display:grid;gap:6px;font-size:14px}body[data-page=shop] .bag-totals>div{display:flex;justify-content:space-between;gap:12px}body[data-page=shop] .bag-totals dt{color:var(--paper-dim)}body[data-page=shop] .bag-totals dd{margin:0;font-variant-numeric:tabular-nums}body[data-page=shop] .bag-totals .bag-grand{font-size:1.05rem;padding-top:6px;border-top:1px solid var(--line)}body[data-page=shop] .bag-totals .bag-grand dt{color:var(--paper)}body[data-page=shop] .bag-side{display:none}@media(min-width:900px){body[data-page=shop] .shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start}body[data-page=shop] .bag-mobile{display:none}body[data-page=shop] .bag-side{display:block;position:sticky;top:96px;max-height:calc(100vh - 116px);overflow-y:auto;margin:0}body[data-page=shop] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1280px){body[data-page=shop] .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}body[data-page=shop] #site-header{z-index:10}
