.shop-banner{aspect-ratio:4;background:var(--surface-2);width:100%;min-height:140px;position:relative;overflow:hidden}.shop-banner img{object-fit:cover;width:100%;height:100%;display:block}.shop-banner-ph{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);width:100%;height:100%}.shop-header{align-items:flex-end;gap:var(--s-4);padding:0 var(--s-6);margin-top:calc(-1 * var(--s-8));flex-wrap:wrap;display:flex}.shop-logo{border-radius:var(--r-lg);background:var(--surface-2);border:3px solid var(--surface);width:96px;height:96px;box-shadow:var(--shadow-2);flex:none;overflow:hidden}.shop-logo img{object-fit:cover;width:100%;height:100%;display:block}.shop-logo-ph{background:repeating-linear-gradient(45deg, var(--surface-2), var(--surface-2) 10px, var(--surface-3) 10px, var(--surface-3) 20px);width:100%;height:100%}.shop-identity{gap:var(--s-1);min-width:0;padding-bottom:var(--s-1);flex-direction:column;flex:220px;display:flex}.shop-name{font-size:var(--t-2xl);color:var(--ink);margin:0;font-weight:800;line-height:1.2}.shop-location{font-size:var(--t-sm);color:var(--ink-3);margin:0}.shop-actions{padding-bottom:var(--s-1);flex:none}.shop-stats{gap:var(--s-5);padding:var(--s-4) var(--s-6) 0;flex-wrap:wrap;display:flex}.shop-stat{flex-direction:column;display:flex}.shop-stat-val{font-size:var(--t-lg);color:var(--ink);font-weight:800}.shop-stat-label{font-size:var(--t-xs);color:var(--ink-4)}.shop-stat-stars{color:var(--accent);letter-spacing:1px;font-weight:700}.shop-desc{padding:var(--s-4) var(--s-6) 0;color:var(--ink-2);white-space:pre-wrap;max-width:720px;line-height:1.6}.shop-section{padding:var(--s-8) var(--s-6)}.shop-section-title{font-size:var(--t-xl);margin:0 0 var(--s-5);color:var(--ink);font-weight:700}.shop-empty{color:var(--ink-3);font-size:var(--t-md);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-6);text-align:center}.shop-search{margin:0 0 var(--s-4)}.shop-search-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shop-search-field{align-items:center;gap:var(--s-2);max-width:480px;min-height:44px;padding:0 var(--s-3);border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface);color:var(--ink-3);display:flex}.shop-search-field:focus-within{border-color:var(--accent)}.shop-search-icon{flex:none;display:inline-flex}.shop-search-field input{min-width:0;font:inherit;font-size:var(--t-md);color:var(--ink);background:0 0;border:none;outline:none;flex:1}.shop-search-field input::-webkit-search-cancel-button{display:none}.shop-search-clear{border-radius:var(--r-full);background:var(--surface-2);width:36px;height:36px;color:var(--ink-3);cursor:pointer;border:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.shop-search-clear:hover{color:var(--ink)}.shop-search-status{margin:0 0 var(--s-3);font-size:var(--t-sm);color:var(--ink-3)}.shop-search-retry{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.shop-skeleton{aspect-ratio:3/4;border-radius:var(--r-lg);background:linear-gradient(90deg, var(--surface-2) 25%, var(--line) 37%, var(--surface-2) 63%);background-size:400% 100%;animation:1.4s infinite mkt-shimmer}.shop-more-wrap{margin-top:var(--s-6);justify-content:center;display:flex}.shop-more{background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--t-md);padding:var(--s-3) var(--s-8);cursor:pointer;min-height:44px;font-weight:600;display:inline-block}.shop-more:hover{background:var(--surface-3,var(--surface-2));border-color:var(--accent)}.shop-more:disabled{opacity:.6;cursor:default}.shop-reviews{gap:var(--s-4);flex-direction:column;display:flex}.shop-review{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4)}.shop-review-head{align-items:center;gap:var(--s-2);margin-bottom:var(--s-2);flex-wrap:wrap;display:flex}.shop-review-author{color:var(--ink);font-weight:700}.shop-review-stars{color:var(--accent);letter-spacing:1px;font-size:var(--t-sm)}.shop-review-date{font-size:var(--t-xs);color:var(--ink-4);margin-left:auto}.shop-review-comment{color:var(--ink-2);white-space:pre-wrap;margin:0;line-height:1.55}@media (max-width:560px){.shop-header{align-items:stretch}.shop-actions{width:100%}.shop-name{font-size:var(--t-xl)}}
