/* Fixed overlay: opening the shop never changes the catalogue's layout. */
.shop-panel {position:fixed;top:40px;right:24px;bottom:24px;width:420px;z-index:35;overflow:auto;overscroll-behavior:contain;background:var(--surface);color:var(--text);border-radius:12px;box-shadow:0 8px 32px #17182224;scrollbar-gutter:stable}
.shop-panel-header {position:sticky;top:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--surface);border-bottom:1px solid var(--line)}
.shop-panel-header>div {min-width:0}
#shop-panel-title {margin:0;font-size:14px;font-weight:650;overflow-wrap:anywhere}
.shop-panel-header .text-link {display:inline-flex;align-items:center;min-height:32px;font-size:12px}
.shop-panel-close {display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:var(--soft);color:var(--text);font-size:28px;cursor:pointer}
.shop-panel-close:hover {background:var(--hover)}
.shop-panel-status {padding:24px 20px;font-size:14px;color:var(--muted)}
.shop-panel-content {padding:0 18px 24px}
.shop-panel [id] {scroll-margin-top:100px}
.shop-panel .shop-return {height:54px;padding:0 44px 0 0;justify-content:flex-end}
.shop-panel .shop-information {top:5px}
.shop-panel .shop-page .detail-layout {display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding-bottom:0}
.shop-panel .detail-image {max-width:none;min-width:0}
.shop-panel .detail-hero {aspect-ratio:1.73}
.shop-panel .shop-heading {padding:12px 0 16px}
.shop-panel .shop-heading h1 {font-size:24px;line-height:1.2}
.shop-panel .shop-heading .muted {font-size:14px;line-height:20px}
.shop-panel .detail-nav {gap:10px;margin-bottom:18px}
.shop-panel .detail-nav a {font-size:12px;min-height:44px;padding:12px 0}
.shop-panel .detail-copy>h2,.shop-panel .comments-section>h2 {font-size:19px;margin-bottom:12px}
.shop-panel .detail-empty {min-height:150px;padding:18px 12px;gap:5px;background:var(--soft)}
.shop-panel .detail-empty h3 {font-size:14px;line-height:20px}
.shop-panel .detail-empty p {font-size:13px;line-height:19px}
.shop-panel .detail-empty .empty-icon {width:30px;height:30px;margin-bottom:6px}
.shop-panel .comments-section {padding:18px 0 0;margin-top:20px}
.shop-panel .comments-section>.muted {display:none}
.shop-panel .comment-list:has(.comments-empty) {margin-top:0}
.shop-panel .comments-empty {font-size:13px;gap:8px;padding:8px 0 20px}
.shop-panel .comments-empty .empty-icon {width:26px;height:26px}
.shop-panel .comment-entry {display:flex;width:100%;margin:0;font-size:13px}
.shop-panel .comment-form,.shop-panel .comment-form label {min-width:0}
.shop-panel .method-detail {padding:20px 0}
.shop-panel .method-heading {flex-wrap:wrap;gap:8px}
.shop-panel .method-heading h3 {font-size:17px}
.shop-panel .method-actions,.shop-panel .comment-actions {flex-wrap:wrap}
.shop-panel .comment-meta {flex-wrap:wrap;gap:6px}
.shop-panel .prose,.shop-panel .steps {font-size:14px}
.shop-link[data-panel-selected] {outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}
@media(max-width:1099px) {.shop-panel {top:12px;right:12px;bottom:12px;width:min(420px,calc(100% - 24px))}}
@media(prefers-reduced-motion:no-preference) {.shop-panel:not([hidden]) {animation:shop-panel-enter 220ms cubic-bezier(.16,1,.3,1)} @keyframes shop-panel-enter {from {opacity:.75;transform:translateX(24px)} to {opacity:1;transform:translateX(0)}}}
@media print {.shop-panel {display:none}}
