.shop-page{padding-bottom:1rem}.shop-head{gap:.5rem;padding-top:2rem;padding-bottom:0;display:grid}.shop-head+.town-section{padding-top:1.5rem}.shop-head+.town-section>.shop-section:first-child{margin-top:0}.shop-head h1{font-size:clamp(2rem,6vw,3rem)}.shop-tabs{border-bottom:2px solid var(--border);gap:1.75rem;margin-top:.75rem;display:flex}.shop-tabs a{color:var(--muted-foreground);border-bottom:4px solid #0000;align-items:center;min-height:44px;margin-bottom:-2px;font-weight:800;text-decoration:none;display:inline-flex}.shop-tabs a:hover{color:var(--foreground)}.shop-tabs a[aria-current=page]{color:var(--foreground);border-bottom-color:var(--primary)}.shop-back{justify-self:start;margin-top:.5rem}.shop-section{margin:2rem 0}.shop-section h2{font-family:var(--font-display);margin-bottom:1rem;font-size:clamp(1.35rem,1rem + 1.6vw,1.9rem);line-height:1.2}.shop-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.shop-card{background:var(--card);border:3px solid var(--foreground);border-radius:1.25rem;flex-direction:column;gap:.5rem;padding:.85rem;display:flex}.shop-card img{aspect-ratio:3/4;object-fit:contain;background:var(--muted);border-radius:.75rem;width:100%}.shop-card .book-art{aspect-ratio:4/3;object-fit:cover}.shop-card h3{font-size:1.05rem}.shop-card p{color:var(--muted-foreground);font-size:.85rem}.shop-card .price{font-weight:800}.shop-card button,.shop-card .sticker{justify-content:center;margin-top:auto}.shop-card-art{display:block}.shop-card h3 a{color:inherit;text-decoration:none}.shop-card h3 a:hover{text-decoration:underline}.shop-tip{background:var(--accent);border:3px solid var(--foreground);border-radius:1.25rem;gap:.4rem;padding:1rem;display:grid}.shop-bar{z-index:30;background:var(--card);border-top:3px solid var(--foreground);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex;position:fixed;bottom:0;left:0;right:0}.shop-with-bar>.town-footer{padding-bottom:104px}.shop-total{background:var(--card);border:3px solid var(--foreground);border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:.85rem 1rem;font-size:1.1rem;display:flex}.shop-total b{font-size:1.3rem}.shop-total{flex-wrap:wrap;row-gap:.15rem}.shop-tax{color:var(--muted-foreground);text-align:right;flex-basis:100%;font-size:.85rem}.shop-lines{gap:.75rem;display:grid}.shop-line{background:var(--card);border:2px solid var(--foreground);border-radius:1rem;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.75rem;padding:.75rem;display:grid}.shop-line-thumb{display:block}.shop-line-art{object-fit:cover;border:2px solid var(--foreground);border-radius:.6rem;width:56px;height:56px;display:block}.shop-line-art-person{object-fit:contain;background:var(--muted)}.shop-line-tile{background:var(--place-color,var(--muted));justify-content:center;align-items:center;display:flex}.shop-line-tile .logo-mark{filter:brightness(0)invert();opacity:.9}.shop-line-title{color:inherit;font-weight:800;text-decoration:none}.shop-line-title:hover,.shop-line-change:hover{text-decoration:underline}.shop-line-change{text-underline-offset:2px;color:inherit;justify-self:start;font-size:.85rem;font-weight:700;text-decoration:underline}@media (width<=480px){.shop-line{gap:.5rem;padding:.6rem}.shop-line-art{width:44px;height:44px}}.shop-undo-region{z-index:40;pointer-events:none;bottom:max(1rem, env(safe-area-inset-bottom));justify-content:center;display:flex;position:fixed;left:1rem;right:1rem}.shop-undo{pointer-events:auto;background:var(--foreground);color:var(--background);border-radius:999px;align-items:center;gap:1rem;max-width:100%;padding:.6rem .6rem .6rem 1.1rem;display:flex;box-shadow:0 6px 20px #00000040}.shop-undo span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shop-undo button{background:var(--background);color:var(--foreground);border-radius:999px;min-height:40px;padding:0 1rem;font-weight:800}.shop-line-text{gap:.15rem;min-width:0;display:grid}.shop-line-detail{color:var(--muted-foreground);font-size:.85rem;font-weight:500}.shop-line-price{white-space:nowrap}.shop-remove{border:2px solid var(--foreground);background:var(--card);border-radius:.6rem;justify-content:center;align-items:center;min-width:40px;min-height:40px;display:inline-flex}.shop-form{background:var(--card);border:3px solid var(--foreground);border-radius:1.25rem;gap:.75rem;margin-top:1.5rem;padding:1rem;display:grid}.shop-form h2{font-family:var(--font-display);font-size:clamp(1.15rem,1rem + .6vw,1.4rem);line-height:1.25}.shop-form input{font:inherit;border:2px solid var(--foreground);background:var(--background);color:var(--foreground);border-radius:1rem;padding:.7rem .9rem}.shop-pin{letter-spacing:.5em;text-align:center;font-size:1.4rem}.shop-closed-note{background:var(--accent);border:2px solid var(--foreground);border-radius:.8rem;padding:.6rem .8rem}.shop-form input:disabled{opacity:.6}.shop-error{color:var(--destructive);font-weight:700}.shop-card .shop-in-basket{background:var(--card)}.shop-card .book-art-soon{aspect-ratio:4/3;background:var(--place-color,var(--muted));border-radius:.75rem;justify-content:center;align-items:center;width:100%;display:flex}.shop-card .book-art-soon img.logo-mark{aspect-ratio:auto;opacity:.9;filter:brightness(0)invert();background:0 0;border-radius:0;width:56px;height:56px}.shop-coming{margin-top:1.5rem}.shop-coming h3{font-family:var(--font-display);margin-bottom:.6rem;font-size:clamp(1.05rem,.95rem + .5vw,1.25rem)}.shop-coming ul{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.shop-coming li{border:2px solid var(--foreground);background:var(--card);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.85rem;font-weight:700;display:inline-flex}.shop-coming li a{color:inherit;text-decoration:none}.shop-coming li a:hover{text-decoration:underline}.shop-coming li:before{content:"";background:var(--place-color,var(--primary));border:1.5px solid var(--foreground);border-radius:50%;width:.6rem;height:.6rem}@media (width<=600px){.shop-card .sticker{white-space:nowrap;min-height:44px;padding:8px 10px;font-size:14px}.shop-bar .sticker{white-space:nowrap}}@media (width>=601px){.shop-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=851px){.shop-grid{grid-template-columns:repeat(4,1fr)}.shop-checkout{grid-template-columns:1.3fr 1fr;align-items:start;gap:2rem;display:grid}}
