.image-button{border:0;background:transparent;width:100%;height:100%;padding:0;display:grid;place-items:center;cursor:pointer;min-width:0}.image-button img{min-height:0}.title-button{border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:0;cursor:pointer}.title-button:hover{text-decoration:underline;text-underline-offset:4px}.detail-link{border:0;background:transparent;color:var(--ink);font:inherit;font-size:12px;padding:0}.buy-action{border:0;cursor:pointer}.update-banner{display:block;width:100%;padding:12px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:12px;border-radius:6px;margin-top:14px}.update-banner[hidden]{display:none}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,16px);opacity:0;pointer-events:none;background:var(--ink);color:var(--paper);padding:13px 22px;border-radius:8px;font-size:12px;box-shadow:0 6px 24px #0002;transition:opacity .2s,transform .2s;z-index:1000;max-width:calc(100vw - 32px);width:max-content}.toast.show{opacity:1;transform:translate(-50%,0)}.empty-icon{display:block;font-size:40px;color:var(--muted);margin-bottom:15px}.empty h3{font-size:17px;font-weight:500}.empty p{font-size:12px}.empty-reset{padding:10px 20px;margin-top:15px;background:var(--ink);color:var(--paper);border:0;border-radius:5px;font-size:12px}.image-placeholder{font-size:12px;color:var(--muted)}.back-top{position:fixed;right:22px;bottom:28px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:50%;width:40px;height:40px;font-size:20px;box-shadow:0 3px 15px #0001;z-index:10}.back-top[hidden]{display:none}body.dialog-open{overflow:hidden}dialog{border:1px solid var(--line);padding:36px;background:var(--paper);color:var(--ink);border-radius:16px;width:min(860px,calc(100vw - 40px));max-height:90vh;overflow:auto;box-shadow:0 24px 100px #0003}dialog::backdrop{background:#16221dcc;backdrop-filter:blur(4px)}.detail-close{position:absolute;right:14px;top:10px;background:transparent;border:0;color:var(--muted);font-size:28px;width:34px;height:34px}.detail-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:start}.detail-visual{background:#fff;padding:25px;border-radius:10px;position:sticky;top:0}.detail-visual img{width:100%;max-height:330px;object-fit:contain}.detail-copy .eyebrow{font-size:10px;line-height:1.8;margin:4px 0 14px}.detail-copy h2{font-size:23px;line-height:1.6}.detail-copy .price{font-size:24px;line-height:1.5;margin:16px 0 24px}.detail-copy h3{font-size:12px;font-weight:600}.detail-copy #detail-description{font-size:13px;line-height:1.9;white-space:pre-wrap}.detail-disclaimer{font-size:11px;line-height:1.8;color:var(--muted);padding:12px 0;border-top:1px solid var(--line)}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.detail-actions a,.detail-actions button{padding:11px 15px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);font-size:12px}.detail-actions a{background:var(--ink);color:var(--paper);border-color:var(--ink)}#detail-origin{font-size:10px;color:var(--muted);margin-top:20px}[data-theme="atelier"] .card-bottom .detail-link{display:none}#saved-nav[aria-pressed="true"]{font-weight:700;text-decoration:underline;text-underline-offset:5px}@media(max-width:580px){dialog{padding:40px 22px 24px;width:calc(100vw - 24px);max-height:90dvh}.detail-grid{grid-template-columns:1fr;gap:22px}.detail-visual{position:static;padding:15px}.detail-visual img{height:190px}.detail-copy h2{font-size:20px}.detail-copy .price{font-size:22px}.toast{bottom:18px}.back-top{right:14px;bottom:20px}}@media(prefers-reduced-motion:reduce){.toast{transition:none}}
.search:focus-within{outline:2px solid var(--ink);outline-offset:3px}.save:after{content:'';position:absolute;inset:-8px}.save{z-index:2}.item-index{pointer-events:none}.detail-close:focus-visible{outline:2px solid var(--ink)}.grid[aria-busy="true"]:empty{min-height:240px;background:linear-gradient(90deg,var(--line),var(--paper),var(--line));border-radius:8px}.detail-link:hover,.buy-action:hover{filter:brightness(.92);text-decoration:underline;text-underline-offset:3px}

/* A stretched button opens the local detail dialog from anywhere on the card. */
.card{position:relative;isolation:isolate;cursor:pointer}.product-link{font:inherit;color:inherit;text-decoration:none;text-align:left;border:0;padding:0;background:transparent;cursor:pointer}.product-link::after{content:"";position:absolute;inset:0;z-index:2}.product-link:focus-visible{outline:none}.card:has(.product-link:focus-visible){outline:2px solid var(--ink);outline-offset:4px}.card .save{z-index:3;cursor:pointer}.card .image-button{cursor:inherit}

/* Crawlable catalog navigation, shared by server-rendered pages. */
.catalog-pages{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0;justify-content:center}
.catalog-pages[hidden]{display:none}
.catalog-pages a{padding:8px 12px;border:1px solid var(--line,#e5dfd6);border-radius:6px;color:inherit;text-decoration:none;font:13px Arial,"PingFang SC",sans-serif}
.catalog-pages a[aria-current="page"]{font-weight:700;background:var(--paper,#f3eee7)}
.catalog-pages a:hover,.catalog-pages a:focus-visible{outline:2px solid currentColor;outline-offset:2px}

/* Compact appearance picker */
.appearance-control{position:relative;flex-shrink:0;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif}
.appearance-control select[hidden]{display:none!important}
#appearance-menu summary{list-style:none;display:flex;align-items:center;gap:9px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink);font-size:12px;font-weight:500;cursor:pointer;transition:background .18s,border-color .18s}
#appearance-menu summary::-webkit-details-marker{display:none}
#appearance-menu summary:hover,#appearance-menu[open] summary{background:var(--paper);border-color:var(--muted)}
#appearance-menu summary:focus-visible,.appearance-panel button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.appearance-icon{font-size:18px;color:var(--muted);line-height:1}.appearance-chevron{margin-left:5px;transition:transform .18s}#appearance-menu[open] .appearance-chevron{transform:rotate(180deg)}
.appearance-panel{position:absolute;top:calc(100% + 12px);right:0;width:260px;padding:10px;background:var(--paper,#fff);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 36px #25211c18;z-index:50}
.appearance-heading{margin:6px 10px 10px;font-size:11px;letter-spacing:.04em;color:var(--muted)}
header nav .appearance-panel button{display:flex;align-items:center;gap:12px;width:100%;padding:11px 10px;border:1px solid transparent;border-radius:10px;text-align:left;background:transparent;color:var(--ink);cursor:pointer}
header nav .appearance-panel button:hover{background:#8888880d}header nav .appearance-panel button[aria-pressed="true"]{background:#88888810;border-color:var(--line)}
.appearance-panel strong{display:block;font-size:13px;font-weight:600;line-height:1.5}.appearance-panel small{display:block;margin-top:2px;font-size:11px;font-weight:400;line-height:1.5;color:var(--muted)}
header nav .appearance-panel .appearance-swatch{display:block;width:32px;height:36px;flex:none;padding:0;border-radius:6px;border:1px solid #0000000c;box-shadow:inset 0 0 0 4px #ffffff66}
.swatch-garden{background:linear-gradient(90deg,#dfe7dc 45%,#294c40 45%,#294c40 53%,#f1f4ec 53%)}.swatch-editorial{background:linear-gradient(0deg,#eae2d6 48%,#7a3e45 48%,#7a3e45 55%,#f5f1e8 55%)}.swatch-atelier{background:linear-gradient(90deg,#cad3e1 28%,#f0f3f8 28%,#f0f3f8 67%,#64758d 67%)}
header nav .appearance-panel .appearance-check{padding:0;margin-left:auto;background:none;font-size:14px;color:var(--ink);visibility:hidden}.appearance-panel button[aria-pressed="true"] .appearance-check{visibility:visible}
@media(max-width:680px){.appearance-control{order:3}#appearance-menu summary{height:36px;padding:0 10px;gap:7px}.appearance-panel{width:246px;right:0;max-width:calc(100vw - 40px)}}

.load-status{text-align:center;padding:30px 12px;font-size:12px;letter-spacing:.04em;color:var(--muted)}.load-status[hidden]{display:none}

/* Anchor the menu to its trigger; keep all choices reachable in short viewports. */
.appearance-panel{max-height:min(360px,calc(100vh - 170px));max-height:min(360px,calc(100dvh - 170px));overflow-y:auto;overscroll-behavior:contain}
@media(max-width:680px){header nav{margin-left:auto}.appearance-panel{position:absolute;left:auto;right:0;top:calc(100% + 8px);width:246px;max-width:calc(100vw - 40px)}}
header nav button:focus-visible,.filters button:focus-visible,.results-head button:focus-visible,.back-top:focus-visible,.save:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}#appearance-menu summary,.appearance-chevron,.appearance-panel button{transition:none}.card:hover{transform:none}}


@media(max-width:680px){
 #appearance-menu summary{min-height:44px;height:44px;padding:0 10px;gap:6px;font-size:12px}
 .appearance-chevron{margin-left:0}.appearance-icon{font-size:17px}
 .appearance-panel{width:272px;max-width:calc(100vw - 32px);padding:8px;max-height:min(360px,calc(100vh - 110px));max-height:min(360px,calc(100dvh - 110px))}
 .appearance-heading{font-size:12px;margin:7px 10px 9px}
 header nav .appearance-panel button{min-height:64px;padding:10px;gap:11px}
 .appearance-panel strong{font-size:15px}.appearance-panel small{font-size:12px;line-height:1.6}
 .back-top{width:44px;height:44px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));font-size:22px}
 .card .save:after{inset:0}
 .update-banner{min-height:48px;font-size:13px;line-height:1.7;padding:12px}
 .empty h3{font-size:18px}.empty p{font-size:13px;line-height:1.8}.empty-reset{min-height:44px;font-size:14px}
 .toast{font-size:13px;line-height:1.6;bottom:max(18px,env(safe-area-inset-bottom))}
 .load-status{font-size:13px;line-height:1.7;padding:24px 12px}
}
@media(max-height:440px) and (orientation:landscape){
 .appearance-panel{position:fixed;top:12px;bottom:auto;right:16px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
}
