/* Photo-led catalog, using the shared MjourneyGo palette. */
.p-hero{padding:7rem 0 2rem}.p-hero h1{font-size:clamp(1.7rem,3.6vw,2.7rem);line-height:1.35;max-width:24ch}.p-hero .p-lede{font-size:1rem;margin-top:.7rem}.sv-catalog{padding:1.75rem 0 3rem}.sv-section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.sv-section-head h2{font-size:1.1rem;margin:0}.sv-section-head a,.sv-reset,.sv-details a,.sv-empty a{color:var(--acc);font-size:.85rem;text-underline-offset:4px}.sv-filters{display:grid;grid-template-columns:1.8fr 1fr 1.2fr 1.2fr auto auto;gap:.65rem;align-items:center}.sv-filters label{display:block;min-width:0}.sv-filters input,.sv-filters select{display:block;width:100%;min-height:44px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);color:var(--text);padding:.65rem .7rem;font:inherit;font-size:.85rem;color-scheme:dark}.sv-filters input::placeholder{color:var(--muted)}.sv-filters input{caret-color:var(--acc)}.sv-primary{background:var(--acc);color:#0c2420;border:0;border-radius:8px;padding:.65rem 1rem;font:inherit;cursor:pointer;font-weight:600;min-height:44px;font-size:.85rem}.sv-reset{padding:.6rem .1rem}.sv-meta-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:1rem 0}.sv-results{font-size:.8rem;color:var(--muted);margin:0;white-space:nowrap}.sv-about{font-size:.75rem;color:var(--muted);max-width:55ch}.sv-about summary{cursor:pointer;min-height:30px;text-align:right}.sv-about p{line-height:1.8}.sv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.sv-item{background:var(--surface);border-radius:14px;overflow:hidden;min-width:0;align-self:start}.sv-product-photo{margin:0;position:relative;background:#f8f9fa;aspect-ratio:1;display:grid;place-items:center;overflow:hidden}.sv-product-photo img{display:block;width:100%;height:100%;object-fit:contain;padding:1rem}.sv-photo-fallback{color:#515963;font-size:.8rem;text-align:center;padding:1rem}.sv-item-body{padding:1rem}.sv-category{margin:0 0 .45rem;color:var(--muted);font-size:.72rem}.sv-item h3{margin:0;line-height:1.5;font-size:1.08rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3em;overflow-wrap:anywhere}.sv-price{margin:.65rem 0 .9rem;font-size:1.12rem;color:var(--warn);font-variant-numeric:tabular-nums;line-height:1.5}.sv-price small{display:block;font-size:.7rem;color:var(--muted);margin-top:.2rem}.sv-details{border-top:1px solid var(--line-2);padding-top:.65rem;font-size:.85rem;color:var(--muted)}.sv-details summary{cursor:pointer;color:var(--text);min-height:30px;font-size:.8rem}.sv-details p{line-height:1.8;overflow-wrap:anywhere}.sv-item-links{display:flex;flex-wrap:wrap;gap:.75rem}.sv-item-links a{font-size:.8rem}.sv-photo-credit{font-size:.72rem}.sv-save{position:absolute;top:.65rem;right:.65rem;width:40px;height:40px;border:1px solid #d9dee1;border-radius:50%;background:#fff;color:#334650;display:grid;place-items:center;cursor:pointer;padding:0}.sv-save svg{width:19px;height:19px}.sv-save[aria-pressed=true]{background:#163f34;color:#b9f3db;border-color:#163f34}.sv-save[aria-pressed=true] svg{fill:currentColor}.sv-save:hover{background:#e4f3ed;color:#163f34}.sv-badges{position:absolute;top:.75rem;left:.75rem;display:flex;gap:.4rem;flex-wrap:wrap;max-width:calc(100% - 70px)}.sv-badges span{font:700 .65rem/1.2 system-ui,sans-serif;border-radius:4px;padding:.35rem .45rem;letter-spacing:.02em}.sv-badge-new{background:#163f34;color:#d0ffe8}.sv-badge-hot{background:#a33d27;color:#fff}.sv-bag{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:20px;z-index:8500;width:52px;height:52px;border:0;border-radius:50%;background:var(--acc);color:#123b30;box-shadow:0 5px 20px rgba(0,0,0,.25);cursor:pointer;display:grid;place-items:center;padding:0}.sv-bag svg{width:24px;height:24px}.sv-bag span{position:absolute;top:-3px;right:-3px;font:700 .65rem/1 system-ui,sans-serif;background:#fff;color:#183f34;border-radius:50%;min-width:20px;height:20px;display:grid;place-items:center;padding:0 3px}.sv-bag:hover{background:#a6ead5}.sv-list{position:fixed;inset:0 0 0 auto;margin:0;width:min(420px,100%);height:100dvh;max-height:100dvh;max-width:100%;border:0;border-radius:16px 0 0 16px;background:var(--surface);color:var(--text);padding:1.5rem;overflow:auto;box-sizing:border-box}.sv-list::backdrop{background:rgba(0,0,0,.6)}.sv-list-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.sv-list h2{margin:0;font-size:1.3rem}.sv-list-head button{width:40px;height:40px;background:var(--surface-2);color:var(--text);border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer}.sv-list-head svg{width:20px;height:20px}.sv-list-hint,.sv-list>p{font-size:.85rem;color:var(--muted)}.sv-list ul{list-style:none;margin:1rem 0;padding:0}.sv-list li{padding:.85rem 0;border-bottom:1px solid var(--line-2);font-size:.85rem;display:flex;align-items:center;gap:.7rem}.sv-list li>span{flex:1;min-width:0;overflow-wrap:anywhere}.sv-list li small{display:block;color:var(--muted);font-size:.75rem}.sv-list li button{flex-shrink:0;padding:.5rem;min-width:44px;min-height:44px;background:none;border:1px solid var(--line-2);border-radius:8px;color:var(--muted);cursor:pointer;font:inherit;font-size:.75rem}.sv-saved-thumb{width:44px;height:44px;object-fit:contain;background:#f8f9fa;border-radius:6px;flex-shrink:0;padding:3px}.sv-list-actions{display:flex;gap:.65rem}.sv-list-actions button{font:inherit;font-size:.8rem;min-height:44px;padding:.6rem;background:var(--surface-2);color:var(--text);border:1px solid var(--line-2);border-radius:8px;cursor:pointer}.sv-list-actions button:hover:not(:disabled){border-color:var(--acc)}.sv-list-actions button:disabled{opacity:.45;cursor:default}.sv-list .sv-total{color:var(--warn);font-variant-numeric:tabular-nums}.sv-storage:empty{display:none}.sv-empty{padding:3rem 1rem;text-align:center;background:var(--surface);border-radius:14px}.sv-empty p{color:var(--muted)}[hidden]{display:none!important}.sv-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#content :focus-visible,.sv-list :focus-visible,.sv-bag:focus-visible{outline:3px solid var(--acc);outline-offset:4px}#content ::selection{background:var(--acc);color:var(--bg)}
@media(max-width:800px){.sv-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.sv-search{grid-column:1/-1}.sv-grid{gap:1rem}}
@media(max-width:600px){.p-hero{padding:6rem 0 1.25rem}.p-hero h1{font-size:1.75rem}.p-hero .p-lede{font-size:.9rem}.sv-catalog{padding-top:1.25rem}.sv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.sv-item{border-radius:12px}.sv-item-body{padding:.75rem}.sv-item h3{font-size:.92rem}.sv-category{font-size:.63rem}.sv-price{font-size:.95rem;margin:.5rem 0 .6rem}.sv-product-photo img{padding:.65rem}.sv-save{top:.45rem;right:.45rem;width:36px;height:36px}.sv-save svg{width:17px;height:17px}.sv-badges{top:.5rem;left:.5rem;max-width:calc(100% - 52px);gap:.2rem}.sv-badges span{font-size:.55rem;padding:.3rem}.sv-bag{width:46px;height:46px;left:14px;bottom:calc(14px + env(safe-area-inset-bottom))}.sv-bag svg{width:22px;height:22px}.sv-about{max-width:32ch}.sv-details summary{font-size:.73rem}.sv-filters{gap:.5rem}.sv-filters input,.sv-filters select{font-size:.78rem;padding:.6rem .4rem}.sv-list{padding:1.25rem}}
@media(prefers-reduced-motion:reduce){.sv-bag,.sv-save{transition:none}}
.sv-product-photo img{position:absolute;inset:0;min-width:0;min-height:0}

.sv-item{scroll-margin-top:100px}.sv-item:target{outline:3px solid var(--acc);outline-offset:4px}
