.gallery-page{background:#f8f9fb;color:#25364b}.gallery-page>header:not(.sc-header){background:#fff;border-bottom:1px solid #e5e9ed;padding:22px max(4vw,24px);position:relative}.gallery-page main{max-width:1580px;padding:0 4vw;margin:auto}.gallery-title{display:flex;justify-content:space-between;align-items:end;padding:44px 0 30px}.gallery-title h1{font-size:32px;letter-spacing:.02em;margin:8px 0 0;font-weight:700}.gallery-title .eyebrow{font-size:10px;letter-spacing:.23em;color:#849292}.title-dot{color:#ee4778;margin-left:3px}.edition-date{color:#7e8b94;font:12px ui-monospace,monospace;letter-spacing:.1em}.daily-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid #e4e9ec;border-radius:13px;overflow:hidden;box-shadow:0 4px 24px #25364b03}.daily-strip>button,.daily-strip>div{display:flex;align-items:center;gap:8px;padding:23px 22px;border:0;border-right:1px solid #e9edef;border-radius:0;background:none;text-align:left;min-width:0}.daily-strip>button:first-child{background:#eef5f2}.daily-strip strong{font-size:29px;margin-left:auto;font-variant-numeric:tabular-nums;line-height:1}.daily-strip span{font-size:12px;white-space:nowrap}.daily-strip small{color:#8d999f;font-size:10px;align-self:end}.daily-strip .stat-arrow{color:#8b9c98;margin-left:10px}.stat-dot{width:6px;height:6px;border-radius:50%;background:#36866c}.periods{display:flex;align-items:center;gap:5px;margin:25px 0 28px;border-bottom:1px solid #e2e7ec;padding-bottom:18px}.periods button{border:0;background:transparent;color:#80909f}.periods button[aria-pressed=true]{background:#253e50;color:#fff;border-radius:7px}.periods label{font-size:11px;color:#7b8d9a;display:flex;align-items:center;gap:8px;margin-left:10px}.periods input{font-size:11px;background:transparent;border:1px solid #dce3e8;max-width:137px}.period-caption{margin-left:auto;color:#8c98a1;font-size:10px}.browse-layout{display:grid;grid-template-columns:174px minmax(0,1fr);gap:30px}.browse-layout aside h2{font-size:14px;margin:0 0 18px}.browse-layout aside .eyebrow{font-size:9px;color:#97a2aa;margin:5px 0 8px;letter-spacing:.14em}#category-links{display:grid;gap:3px;max-height:450px;overflow:auto;padding-right:8px}#category-links button{background:none;border:0;text-align:left;line-height:1.65;font-size:12px;padding:11px 12px;color:#728291}#category-links button[aria-pressed=true]{background:#e9eff0;color:#265e64;font-weight:600;border-radius:7px}.archive-caption{border-top:1px solid #e1e6e8;padding:35px 12px;margin-top:30px;color:#a0acb2}.archive-caption span{font-size:9px;letter-spacing:.12em}.archive-caption p{font-size:17px;line-height:1.8;letter-spacing:.06em;color:#b5bec2}.gallery-page .catalog-controls{background:#f8f9fb;padding:0;border:0;border-radius:0;position:sticky;top:0;z-index:6;padding-bottom:14px}.gallery-page #filters{display:flex;align-items:center;gap:8px}.gallery-page #filters .search-label{flex:1}.gallery-page #filters input[type=search]{background:#fff;min-height:43px}.gallery-page #filters button{min-height:42px}.gallery-page .mobile-category{display:none}.price-filter{position:relative;font-size:12px;color:#667b89;white-space:nowrap}.price-filter summary{padding:12px;cursor:pointer}.price-filter>div{position:absolute;right:0;top:44px;background:white;box-shadow:0 6px 25px #24374b16;z-index:8;border:1px solid #dde5eb;padding:18px;width:210px;display:grid;gap:10px}.gallery-page .collection-toolbar{margin:8px 0 20px;gap:10px;flex-wrap:wrap}.gallery-page .collection-toolbar h2{font-size:16px}.gallery-page .toolbar-actions{gap:14px;font-size:11px}.gallery-page .toolbar-actions select{padding:8px;max-width:115px;font-size:11px}.gallery-page .toolbar-actions label{display:flex;gap:5px;align-items:center}.gallery-page .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:23px 18px}.gallery-page .product-card{border:1px solid transparent;border-radius:10px;background:#fff;box-shadow:0 3px 14px #2c405805;transition:transform .18s,border-color .18s;overflow:hidden;position:relative}.gallery-page .product-card:hover{transform:translateY(-3px);border-color:#cbdadb;box-shadow:0 8px 25px #213d5810}.gallery-page .photo-wrap{position:relative;display:block;aspect-ratio:1;background:#f0f1f0;overflow:hidden}.gallery-page .product-card .photo{aspect-ratio:1;object-fit:contain;width:100%;height:100%;mix-blend-mode:normal}.gallery-page .photo-secondary{position:absolute;inset:0;opacity:0;transition:opacity .2s;background:#f2f2f1}.gallery-page .product-card:hover .photo-secondary{opacity:1}.gallery-page .card-body{padding:14px}.gallery-page .card-body h3{font-size:12px;font-weight:500;line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:43px;min-height:43px;margin:7px 0 11px}.gallery-page .card-meta{font-size:9px;gap:8px}.gallery-page .card-meta>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:75%}.gallery-page .card-data{display:flex;align-items:center;gap:10px;font-size:10px;color:#758b93;border-top:1px solid #eef1f3;padding-top:10px}.gallery-page .card-data .reference{margin-left:auto;font-size:11px;color:#62737f}.gallery-page .card-bottom{font-size:9px;margin-top:12px;color:#9ca7ae}.gallery-page .card-select{top:10px;right:10px;z-index:3;padding:3px;background:#ffffffed}.gallery-page .badge{font-size:9px;top:12px;left:10px;z-index:2;padding:4px 7px;background:#fff;color:#52796f}.gallery-page .is-saved{border-color:#9dbeb7;background:#f0f6f3}.gallery-page .is-saved .card-open{background:#f0f6f3}.gallery-page .saved-flag{display:block;color:#477569;padding:0 14px 12px;font-size:10px}.gallery-page .quick-save{width:calc(100% - 28px);margin:0 14px 14px;font-size:10px;padding:7px;color:#456870;border-color:#dce6e5;background:#f8fbfa}.gallery-page .product-card.selected{border:1px solid #ed5484;box-shadow:0 0 0 2px #ed548424}.gallery-page #cards[aria-busy=true]{opacity:.45;pointer-events:none;min-height:300px}.gallery-page .active-filter{font-size:11px;color:#69838a;margin-bottom:14px}.gallery-page .active-filter:empty{display:none}.gallery-page .save-bar{z-index:8}.gallery-page .empty{border:1px dashed #d1dfe2;background:#fff}.empty-symbol{display:block;font-size:40px;color:#b2c6c5;margin-bottom:20px}.gallery-footer{border-top:1px solid #e3e9eb;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#97a3ab;padding:28px 4vw;margin-top:50px}.gallery-page #detail{max-width:1160px;border:0;padding:42px;box-shadow:0 25px 100px #1a304330}.gallery-page .detail-main-image{border-radius:9px;background:#f5f6f4}.gallery-page .detail-copy h2{font-size:21px;line-height:1.7;letter-spacing:0}.gallery-page .detail-copy .description{font-size:12px;line-height:2;max-height:none;white-space:pre-wrap}.gallery-page .detail-price{font-size:17px;margin:14px 0;color:#658184}.gallery-page .thumbs{display:flex;overflow:auto;gap:8px;flex-wrap:wrap}.gallery-page .thumbs button{width:56px;padding:0}.gallery-page .thumbs img{width:100%;aspect-ratio:1;object-fit:contain}.gallery-page .detail-copy h3{font-size:13px}.gallery-page .chips span{font-size:11px;background:#f3f5f6}.gallery-page .detail-actions{position:sticky;bottom:0;background:#fff;padding:15px 0;display:flex;gap:10px}.gallery-page #notice{font-size:12px;background:#eef5f2;padding:12px 16px;border-radius:8px;color:#3c7169}.gallery-page #notice:empty{display:none}
@media(min-width:1500px){.gallery-page .product-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1150px){.gallery-page .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.browse-layout{grid-template-columns:140px minmax(0,1fr);gap:20px}.daily-strip>button,.daily-strip>div{padding:20px 14px}.daily-strip span{font-size:10px}.daily-strip strong{font-size:24px}.daily-strip .stat-arrow{display:none}}
@media(max-width:760px){.gallery-page main{padding:0 18px}.gallery-page>header:not(.sc-header){padding:18px;display:block}.gallery-page>header:not(.sc-header) nav{margin-top:18px;justify-content:space-between;gap:10px}.gallery-title{padding:28px 0 23px}.gallery-title h1{font-size:23px}.edition-date{display:none}.daily-strip{grid-template-columns:1fr 1fr}.daily-strip>button,.daily-strip>div{padding:17px;border-bottom:1px solid #e9edef}.daily-strip strong{font-size:24px}.daily-strip span{font-size:11px}.periods{flex-wrap:wrap;margin:18px 0}.periods button{font-size:11px;padding:8px 12px}.periods label{margin:8px 0 0}.period-caption{font-size:9px;margin-top:8px}.browse-layout{display:block}#category-panel{display:none}.gallery-page #filters{display:grid;grid-template-columns:minmax(0,1fr) 70px 60px}.gallery-page #filters .search-label{grid-column:1/4}.gallery-page .mobile-category{display:block}.price-filter{display:none}.gallery-page .toolbar-actions{gap:8px;font-size:10px;flex-wrap:wrap}.gallery-page .collection-toolbar{align-items:start}.gallery-page .collection-toolbar h2{font-size:14px}.gallery-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.gallery-page .card-body{padding:11px}.gallery-page .card-body h3{font-size:11px;height:40px}.gallery-page .card-data{font-size:9px;gap:6px}.gallery-page .card-data .reference{font-size:10px}.gallery-page .card-bottom{font-size:8px}.gallery-page .badge{font-size:8px}.gallery-page .save-bar{bottom:8px;padding:12px;gap:8px;font-size:10px}.gallery-page .save-bar button{font-size:10px;padding:9px}.gallery-footer{flex-wrap:wrap}.gallery-page #detail{width:100%;height:100%;max-height:100%;border-radius:0;padding:42px 18px 20px}.gallery-page .detail-grid{display:block}.gallery-page .detail-copy{margin-top:22px}.gallery-page .detail-copy h2{font-size:19px}.gallery-page .detail-actions{bottom:-20px}.gallery-page .product-card:hover{transform:none}.gallery-page .photo-secondary{display:none}}
@media(prefers-reduced-motion:reduce){.gallery-page *{transition:none!important}}

/* Compact discovery controls keep product images in the first viewport. */
@media(min-width:761px){.gallery-title{padding:28px 0 22px}.gallery-title .eyebrow{margin-bottom:10px}.daily-strip>button,.daily-strip>div{padding-top:18px;padding-bottom:18px}.periods{margin:18px 0 22px;padding-bottom:12px}.gallery-page .collection-toolbar{padding:6px 0 0;margin:6px 0 20px}}
.gallery-page .card-meta>span:first-child{font-weight:500}.gallery-page .collection-toolbar h2{letter-spacing:0}.gallery-page .daily-strip label,.gallery-page .periods label{flex-direction:row}

@media(max-width:760px){
.gallery-page>header:not(.sc-header){padding:12px 18px}.gallery-page>header:not(.sc-header) .brand{font-size:17px}.gallery-page>header:not(.sc-header) .brand span{width:32px;height:32px;border-radius:10px}.gallery-page>header:not(.sc-header) nav{margin-top:12px}.gallery-page>header:not(.sc-header) .nav-button{padding:7px 10px}.gallery-title{padding:20px 0 16px}.gallery-title .eyebrow{display:none}.gallery-title h1{margin:0;font-size:22px}.daily-strip>button,.daily-strip>div{padding:11px 12px}.daily-strip strong{font-size:20px}.daily-strip span{font-size:10px}.daily-strip small{align-self:center}.periods{flex-wrap:nowrap;overflow-x:auto;gap:3px;margin:14px 0 16px;padding-bottom:10px}.periods button{flex-shrink:0}.periods label{margin:0;flex-shrink:0}.period-caption{display:none}.gallery-page #filters .mobile-category{grid-column:1;grid-row:2}.gallery-page #filters .mobile-category select{min-width:0;width:100%;font-size:11px}.gallery-page #filters button{grid-row:2;min-width:0;width:auto;font-size:11px}.gallery-page #filters input[type=search]{font-size:12px}.gallery-page .collection-toolbar{padding:0;margin:8px 0 18px;gap:10px}.gallery-page .catalog-controls{padding-bottom:10px}.gallery-page .toolbar-actions{gap:8px;font-size:9px}.gallery-page .toolbar-actions select{max-width:85px}.gallery-page .product-card .card-bottom{font-size:8px}.gallery-page .quick-save{font-size:10px}
}

@media(max-width:760px){.gallery-page #filters{grid-template-columns:minmax(0,1fr) 63px 70px}.gallery-page #filters button{white-space:nowrap;padding-left:8px;padding-right:8px}}

.updates-filter{font-size:10px;padding:7px 9px;background:transparent}.updates-filter[aria-pressed=true]{background:#e8f2ed;color:#386b5f}

.gallery-page .detail-actions button[data-close]{white-space:nowrap;flex-shrink:0}.gallery-page .detail-actions{align-items:center}.gallery-page .detail-actions .accent{min-width:0}

/* Hierarchical collections and genuine member save counts. */
#category-links{max-height:30vh;overflow-y:auto;padding-right:8px}
.category-branch>summary{list-style:none;display:flex;align-items:center;gap:4px;cursor:pointer}
.category-branch>summary::-webkit-details-marker{display:none}
.category-branch summary button{flex:1;min-width:0}.category-chevron{padding:10px;transition:transform .15s}
.category-branch[open]>summary>.category-chevron{transform:rotate(90deg)}
.category-children{margin-left:12px;border-left:1px solid #dce5e5;padding-left:9px}
#category-links button,#mobile-category-links button{width:100%;text-align:left;white-space:normal;line-height:1.65;padding:10px 12px;border:0;background:transparent;border-radius:7px;font-size:12px;color:#617589}
#category-links button[aria-pressed=true],#mobile-category-links button[aria-pressed=true]{background:#e5eeee;color:#226369;font-weight:700}
.popular-panel{margin-top:28px;border-top:1px solid #dce5e5;padding-top:24px}.popular-panel h2{font-size:13px;margin:4px 0 14px}.popular-panel>.eyebrow{font-size:9px}.popular-panel>small{font-size:10px;color:#86999f}
.popular-item{border:0;border-radius:8px;background:transparent;display:grid;grid-template-columns:16px 44px minmax(0,1fr);gap:7px;width:100%;text-align:left;padding:10px 0;align-items:center}.popular-item:hover{background:#edf3f3}.popular-item img{width:44px;height:55px;object-fit:cover;border-radius:5px}.popular-rank{font-size:11px;color:#3c7174}.popular-item strong{font-size:10px;font-weight:500;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.popular-item small{display:block;font-size:9px;color:#658585;margin-top:4px}
.source-caption{color:#35686c;font-size:12px}.mobile-category{position:relative}.mobile-category>summary{cursor:pointer;padding:11px;border:1px solid #dbe4eb;border-radius:7px;font-size:12px;list-style:none}#mobile-category-links{position:absolute;top:100%;left:0;z-index:20;width:280px;max-height:55vh;overflow-y:auto;background:white;border:1px solid #dae3e5;padding:12px;box-shadow:0 12px 30px #253b4c20;border-radius:9px}
/* Image-first daily selection. Navigation, rail and gallery share one page grid. */
.gallery-page>header:not(.sc-header){max-width:1580px;width:100%;box-sizing:border-box;margin:auto;padding:11px 4vw;min-height:56px;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:20px;background:#f8f9fb}
.gallery-page>header:not(.sc-header) .brand{font-size:18px;gap:10px}.gallery-page>header:not(.sc-header) .brand span{width:30px;height:30px;border-radius:9px;font-size:17px;box-shadow:none}
.gallery-page>header:not(.sc-header) nav{width:auto;margin:0;gap:26px;align-items:center;font-size:11px}.gallery-page>header:not(.sc-header) .nav-button{padding:8px 12px;border-radius:7px;font-size:11px;background:transparent}
.gallery-page main{box-sizing:border-box;width:100%;max-width:1580px}.gallery-page #login-panel{margin-top:28px}.gallery-page #notice:not(:empty){margin:12px 0}
.recommendation-showcase{padding:24px 0 16px}.recommendation-window{position:relative}.recommendation-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:12px}.recommendation-track::-webkit-scrollbar{display:none}
.recommendation-card{position:relative;flex:0 0 calc((100% - 64px)/5);min-width:0;scroll-snap-align:start;isolation:isolate;overflow:hidden;border-radius:10px;background:#eeefec;border:1px solid #e5e8e5;transition:border-color .2s}
.gallery-page .recommendation-open{display:block;border:0;border-radius:0;padding:0;width:100%;height:clamp(180px,21vw,288px);background:#eeefec;overflow:hidden}
.recommendation-open img{width:100%;height:100%;object-fit:contain;display:block;mix-blend-mode:normal;transition:transform .3s ease;user-select:none}.recommendation-card:hover .recommendation-open img{transform:scale(1.025)}.recommendation-card:hover{border-color:#b9cbc5}
.gallery-page .recommendation-save{position:absolute;bottom:12px;right:12px;border:1px solid #ffffffbd;border-radius:7px;padding:9px 13px;background:#fffffff2;color:#335c60;font-size:11px;box-shadow:0 3px 15px #25364b12;opacity:0;transform:translateY(4px);transition:opacity .16s,transform .16s;backdrop-filter:blur(8px)}
.recommendation-card:hover .recommendation-save,.recommendation-card:focus-within .recommendation-save{opacity:1;transform:none}.gallery-page .recommendation-save:disabled{cursor:default;background:#e8f2ee;color:#537b6e}.recommendation-saved{position:absolute;top:11px;right:11px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;font-size:12px;color:#3e7967;background:#f5fffaeb;border:1px solid #c8ded1;pointer-events:none}.recommendation-card.is-saved{border-color:#b5cdc1}
.gallery-page .recommendation-arrow{position:absolute;top:50%;z-index:2;transform:translateY(-50%);width:35px;height:44px;padding:0;border:1px solid #dfe6e5;border-radius:20px;background:#fffffff2;box-shadow:0 3px 12px #25364b10;font:25px/1 Arial,sans-serif;color:#43656c;backdrop-filter:blur(8px)}.recommendation-arrow.previous{left:-15px}.recommendation-arrow.next{right:-15px}.gallery-page .recommendation-arrow:disabled{opacity:0;pointer-events:none}
.recommendation-progress{height:2px;margin:15px auto 0;background:#e5e9e6;max-width:144px;overflow:hidden;border-radius:3px}.recommendation-progress span{height:100%;display:block;background:#79958f;border-radius:3px;transition:margin-left .08s linear}
.gallery-page .periods{margin:0 0 22px;padding:11px 0 16px;gap:7px;flex-wrap:wrap}.gallery-page .periods button{padding:9px 13px;font-size:12px;display:flex;align-items:center;gap:8px;white-space:nowrap;font-weight:500}.gallery-page .periods button small{font-size:10px;color:#9aa7aa;font-variant-numeric:tabular-nums}.gallery-page .periods button[aria-pressed=true]{background:#e4edeb;color:#2c605c;font-weight:600}.gallery-page .periods button[aria-pressed=true] small{color:#497c73}.gallery-page .periods label{margin-left:auto;font-size:10px}.gallery-page .periods input{padding:8px 10px;font-size:11px;max-width:145px}
.gallery-page #category-panel{align-self:start;position:sticky;top:18px}.gallery-page #category-links{max-height:calc(100vh - 120px);scrollbar-width:thin;scrollbar-color:#cbd6d4 transparent;padding-right:6px}.gallery-page .browse-layout{grid-template-columns:184px minmax(0,1fr);gap:28px}.gallery-page #category-panel .eyebrow{display:none}.gallery-page #category-panel h2{font-size:12px;padding:14px 12px 0;margin:0 0 20px;color:#4d6879}.gallery-page .browse-main{min-width:0}
@media(max-width:1150px) and (min-width:761px){.gallery-page .browse-layout{grid-template-columns:164px minmax(0,1fr);gap:22px}.recommendation-track{gap:12px}.recommendation-card{flex-basis:calc((100% - 48px)/5)}}
@media(max-width:760px){.gallery-page>header:not(.sc-header){padding:10px 18px;min-height:52px;gap:12px}.gallery-page>header:not(.sc-header) .brand{font-size:0;gap:0}.gallery-page>header:not(.sc-header) .brand span{width:29px;height:29px;font-size:17px}.gallery-page>header:not(.sc-header) nav{margin:0;gap:14px;font-size:10px}.gallery-page>header:not(.sc-header) .nav-button{padding:6px 8px;font-size:10px}.recommendation-showcase{padding:18px 0 12px}.recommendation-track{gap:10px;border-radius:8px}.recommendation-card{flex-basis:calc((100% - 24px)/2.2);border-radius:8px}.gallery-page .recommendation-open{height:clamp(155px,48vw,260px)}.gallery-page .recommendation-save{opacity:1;transform:none;bottom:8px;right:8px;padding:6px 9px;font-size:10px}.gallery-page .recommendation-arrow{width:27px;height:35px;font-size:22px}.recommendation-arrow.previous{left:-10px}.recommendation-arrow.next{right:-10px}.recommendation-progress{margin-top:12px;max-width:100px}.gallery-page .periods{flex-wrap:nowrap;overflow-x:auto;gap:3px;padding:8px 0 12px;margin-bottom:18px;scrollbar-width:thin}.gallery-page .periods button{font-size:10px;padding:8px 9px;gap:5px;flex-shrink:0}.gallery-page .periods button small{font-size:9px}.gallery-page .periods label{flex-shrink:0;margin-left:8px}.gallery-page .browse-layout{display:block}.gallery-page #category-panel{display:none}}
@media(hover:none){.gallery-page .recommendation-save{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.recommendation-open img,.recommendation-save,.recommendation-progress span{transition:none!important}}
/* A single revolving showcase, with gentle depth toward the middle. */
.gallery-page .recommendation-showcase{position:relative;padding:14px 20px 8px;margin:22px 0 14px;border:1px solid #e7e8ed;border-radius:20px;background:radial-gradient(ellipse at 50% 20%,#fff 0%,#f6f5f8 55%,#eef0f4 100%);box-shadow:inset 0 1px 0 #fff,0 10px 30px #25364b04;overflow:hidden}
.recommendation-window:before{content:'';position:absolute;left:10%;right:10%;bottom:15px;height:20px;border-radius:50%;background:#71829612;filter:blur(14px);pointer-events:none}
.gallery-page .recommendation-track{position:relative;display:block;height:310px;overflow:hidden;border-radius:0;perspective:1400px;touch-action:pan-y;scroll-snap-type:none;gap:0;isolation:isolate}
.gallery-page .recommendation-card{position:absolute;top:50%;left:50%;border:0;border-radius:11px;overflow:hidden;background:#ffffffb8;box-shadow:0 5px 12px #21344b0d,0 1px 2px #21344b0a;transform-origin:center;transition:none;will-change:transform,left;min-width:0}
.gallery-page .recommendation-card:hover{border:0}.gallery-page .recommendation-open{height:268px;background:transparent}.gallery-page .recommendation-open img{mix-blend-mode:normal;transform:none;transition:none}.gallery-page .recommendation-card:hover .recommendation-open img{transform:none}
.gallery-page .recommendation-save{z-index:3;bottom:10px;right:10px;font-size:10px;background:#fffffff2;color:#465977}.gallery-page .recommendation-arrow{width:29px;height:35px;background:#ffffffdb;box-shadow:0 2px 10px #25364b0a}.recommendation-arrow.previous{left:-11px}.recommendation-arrow.next{right:-11px}.gallery-page .recommendation-arrow:disabled{opacity:.25}
.showcase-controls{display:flex;justify-content:center;height:27px;align-items:center}.gallery-page #recommendation-pause{font-size:10px;width:36px;height:23px;border:1px solid #dfe3eb;border-radius:12px;padding:0;background:#ffffffa8;color:#8391a3;line-height:1;letter-spacing:1px}.gallery-page #recommendation-pause:hover{background:#fff;color:#40516c}.gallery-page #recommendation-pause:disabled{opacity:.3;cursor:default}
.gallery-page .page-size-label{white-space:nowrap;font-size:10px}.gallery-page #page-size{max-width:77px;font-size:10px;padding:8px 5px}.gallery-page .toolbar-actions{gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media(min-width:1500px){.gallery-page .recommendation-track{height:335px}.gallery-page .recommendation-open{height:292px}}
@media(max-width:760px){.gallery-page .recommendation-showcase{margin-top:16px;padding:8px 12px 6px;border-radius:14px}.gallery-page .recommendation-track{height:210px}.gallery-page .recommendation-open{height:178px}.gallery-page .recommendation-save{padding:5px 7px;font-size:9px;bottom:6px;right:6px}.gallery-page .recommendation-saved{width:20px;height:20px;font-size:10px;top:6px;right:6px}.gallery-page .recommendation-arrow{width:23px;height:30px}.recommendation-arrow.previous{left:-9px}.recommendation-arrow.next{right:-9px}.gallery-page .toolbar-actions{justify-content:flex-start}.showcase-controls{height:25px}}

/* Customer navigation belongs to the main website and appears after sign-in. */
#catalog-member-nav{display:flex;align-items:center;gap:inherit}
/* Member library navigation: readable business links, quieter utility actions. */
.gallery-page>header:not(.sc-header){min-height:78px!important;background:#fff!important;gap:32px!important}
.gallery-page>header:not(.sc-header) .brand{font-size:20px!important;letter-spacing:-.4px}
.gallery-page>header:not(.sc-header) .brand span{width:34px!important;height:34px!important}
.gallery-page>header:not(.sc-header) nav.catalog-navigation{font-size:14px;gap:26px;margin:0;align-items:center;line-height:1.4}
.catalog-navigation #catalog-member-nav{display:flex;align-items:center;gap:26px}
.catalog-navigation #catalog-member-nav[hidden]{display:none}
.gallery-page .catalog-navigation a{position:relative;font-size:14px;font-weight:600;padding:13px 0;color:#526780;white-space:nowrap}
.gallery-page .catalog-navigation a[aria-current=page]{color:#087d89}
.catalog-navigation a[aria-current=page]:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:#087d89;border-radius:3px}
.gallery-page .catalog-navigation .nav-button{padding:10px 16px;font-size:13px;background:#f4f7fa;border-color:#dce5ec;margin-left:10px}
.catalog-navigation a:hover{color:#087d89}.catalog-navigation a:focus-visible{outline:2px solid #087d89;outline-offset:5px}
.catalog-loading{min-height:75vh;padding:28px 0}.loading-heading{display:flex;align-items:baseline;gap:20px;margin-bottom:24px}.loading-heading strong{font-size:20px;color:#182943}.loading-heading span{font-size:13px;color:#617589}
.skeleton-showcase{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;padding:30px;background:#eff3f7;border-radius:20px}.skeleton-showcase i{height:250px;background:#e0e7ee;border-radius:12px}.skeleton-controls{height:42px;margin:26px 0;background:#e7edf3;border-radius:8px;width:60%}.skeleton-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.skeleton-grid i{height:230px;background:#e7edf3;border-radius:12px}
body[data-loading=true] #catalog-content{display:none}body[data-loading=true] .gallery-footer{visibility:hidden}
.catalog-loading[hidden]{display:none}
@media(max-width:760px){.gallery-page>header:not(.sc-header){display:flex!important;flex-wrap:wrap!important;gap:12px!important;padding:14px 18px!important}.gallery-page>header:not(.sc-header) nav.catalog-navigation{width:100%;overflow-x:auto;gap:20px;font-size:13px;padding-bottom:3px}.catalog-navigation #catalog-member-nav{gap:20px}.gallery-page .catalog-navigation a{font-size:13px}.gallery-page .catalog-navigation .nav-button{margin:0;padding:8px 10px}.loading-heading{display:block}.loading-heading span{display:block;margin-top:8px}.skeleton-showcase{grid-template-columns:repeat(2,1fr);gap:12px;padding:16px}.skeleton-showcase i{height:180px}.skeleton-showcase i:nth-child(n+3){display:none}.skeleton-grid{grid-template-columns:repeat(2,1fr);gap:12px}.skeleton-controls{width:85%}.catalog-loading{padding-top:20px}}
@media(max-width:760px){
 .gallery-page>header:not(.sc-header) .brand{gap:10px}
 .gallery-page>header:not(.sc-header) nav.catalog-navigation{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;overflow:visible}
 .catalog-navigation #catalog-member-nav{display:contents}
 .gallery-page .catalog-navigation a{width:fit-content;padding:9px 0}
 .gallery-page .catalog-navigation .nav-button{padding:8px 12px}
 .gallery-page .catalog-controls{position:static}
}
/* Library heading and view switch under the shared site header. */
.catalog-subnav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:28px 0 18px}
.catalog-subnav h1{margin:0;font-size:24px;line-height:1.4;letter-spacing:-.01em;color:#0d1424}
.catalog-subnav nav{display:flex;gap:4px;padding:4px;border:1px solid #e5e8f0;border-radius:11px;background:#f6f7fb;font-size:13px}
.catalog-subnav nav[hidden]{display:none}
.catalog-subnav nav a{padding:7px 14px;border-radius:8px;color:#5b6577;font-weight:600;text-decoration:none}
.catalog-subnav nav a[aria-current=page]{background:#fff;color:#0d1424;box-shadow:0 1px 3px rgb(13 20 36/.12)}
.gallery-note{max-width:1340px;margin:40px auto 24px;padding:0 4vw;font-size:11px;color:#8a93a6}
.gallery-page .save-bar .danger-solid{background:#d9485f;border-color:#d9485f;color:#fff;min-width:96px}.gallery-page .save-bar .danger-solid:hover{background:#bf3a50;border-color:#bf3a50}.gallery-page .save-bar #delete-selected[hidden],.gallery-page .save-bar #save-selected[hidden]{display:none}
/* 淘宝来源 (2026-10-21): the source filter; the product detail itself is product-view.css. */
.gallery-page #filters .source-filter{display:flex;gap:8px}
.gallery-page #filters .source-filter select{min-height:42px;border:1px solid #dbe4eb;border-radius:7px;background:#fff;color:#25364b;font-size:12px;padding:0 10px}
@media(max-width:760px){.gallery-page #filters .source-filter{grid-column:1/4;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.gallery-page #filters .source-filter label{grid-column:auto;min-width:0}.gallery-page #filters .source-filter select{width:100%;min-height:38px;font-size:11px}}
.stock-pill{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:#1f7a4d;white-space:nowrap}
.stock-pill::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.stock-pill.stock-low{color:#b54708}.stock-pill.stock-out{color:#d92d20}.stock-pill.stock-ended{color:#475467}.stock-pill.is-stale{opacity:.6}
.chips small{margin-left:6px;font-size:11px;color:#1f7a4d}.chips .variant-low small{color:#a35f00}.chips .variant-out{color:#7b8794}.chips .variant-out small{color:#7b8794}
.catalog-loading.is-plan-locked .skeleton-showcase,.catalog-loading.is-plan-locked .skeleton-controls,.catalog-loading.is-plan-locked .skeleton-grid{display:none}
.catalog-loading.is-plan-locked .loading-heading{flex-wrap:wrap;align-items:center;gap:12px 16px}.catalog-loading.is-plan-locked .loading-heading strong{display:none}.catalog-loading.is-plan-locked #catalog-loading-message{font-size:14px;color:#25364b}.plan-lock-link{display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border-radius:8px;text-decoration:none}
@media(max-width:760px){.plan-lock-link{margin-top:12px}}
/* 仕入れ元のお知らせ (2026-10-22): a price change mark on library cards; on saved cards signs over the picture — NEW,
   floating marks for price and stock, the details on hover or tap — and the counts as filter chips above the list. */
.price-mark{font-size:11px;font-weight:700;border-radius:4px;padding:1px 7px;margin-left:6px;white-space:nowrap;color:#fff}
.price-mark.up{background:#444ce7}.price-mark.down{background:#0e9384}
.source-layer{position:absolute;left:0;right:0;top:0;aspect-ratio:1;pointer-events:none;z-index:2}
.product-card .source-layer button{pointer-events:auto;cursor:pointer;font:inherit}
.product-card .source-layer .source-new{position:absolute;top:10px;left:10px;border:0;border-radius:8px;background:#e5383b;color:#fff;font-size:15px;font-weight:800;letter-spacing:.08em;padding:6px 12px;box-shadow:0 3px 10px #e5383b55;min-height:0}
.product-card .source-layer .source-new::after{content:'';position:absolute;inset:-3px;border-radius:8px;border:2px solid #e5383b66;animation:source-pulse 2.4s ease-out infinite}
@keyframes source-pulse{0%{opacity:1;transform:scale(.92)}70%,100%{opacity:0;transform:scale(1.25)}}
@media(prefers-reduced-motion:reduce){.source-new::after{animation:none}}
.has-new>.badge{left:62px}
.product-card .source-layer .source-chips{position:absolute;left:10px;bottom:10px;display:flex;flex-wrap:wrap;gap:5px;border:0;background:none;padding:0;min-height:0;max-width:calc(100% - 20px)}
/* 1.5× the first size (the user: easier to see on the picture); one colour per state, icon + words. */
.source-chip{display:inline-flex;align-items:center;gap:6px;font-size:16px;font-weight:800;border-radius:999px;padding:5px 13px 5px 10px;box-shadow:0 2px 10px #1f2d3d40;color:#fff;white-space:nowrap}
.source-chip .source-icon{width:17px;height:17px;flex:none}
.source-chip.out{background:#d92d20}.source-chip.outSome{background:#ef6820}.source-chip.low{background:#fac515;color:#542c0d}
.source-chip.up{background:#444ce7}.source-chip.down{background:#0e9384}.source-chip.ended{background:#475467}
.source-sheet{position:absolute;left:0;right:0;bottom:0;padding:12px 12px 12px;background:linear-gradient(to top,#101a28f2,#101a28d9);backdrop-filter:blur(4px);color:#fff;
 opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .16s,transform .16s,visibility .16s;pointer-events:auto}
.source-sheet ul{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:5px}
.source-sheet li{font-size:11px;line-height:1.5;font-weight:600;padding-left:14px;position:relative}
.source-sheet li::before{content:'';position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:#9fb0c3}
.source-sheet li.out::before{background:#f97066}.source-sheet li.up::before{background:#8098f9}.source-sheet li.down::before{background:#2ed3b7}.source-sheet li.low::before{background:#fac515}.source-sheet li.ended::before{background:#98a2b3}.source-sheet li.back::before{background:#47cd89}
.product-card .source-layer .source-confirm{border:1px solid #ffffff66;background:#ffffff1a;color:#fff;border-radius:6px;padding:4px 10px;font-size:10.5px;min-height:0}
.product-card .source-layer .source-confirm:hover{background:#ffffff33}
.source-layer:has(.source-new:hover,.source-chips:hover,.source-sheet:hover) .source-sheet,.show-sources .source-sheet,.source-layer:focus-within .source-sheet{opacity:1;visibility:visible;transform:none}
.show-sources .source-chips,.source-layer:has(.source-sheet:hover) .source-chips{opacity:0}
.product-card.is-ended .photo{filter:grayscale(.9);opacity:.6}.product-card.is-out .photo{filter:grayscale(.6);opacity:.8}
.source-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.source-strip-title{font-size:12px;font-weight:700;color:#5b6876;margin-right:4px}
.gallery-page .source-strip .source-filter{display:inline-flex;align-items:center;gap:7px;border:1px solid #e3e8ee;border-radius:999px;background:#fff;padding:4px 12px 4px 4px;font-size:12px;color:#1f2d3d;min-height:0;cursor:pointer}
.source-filter b{min-width:22px;height:22px;border-radius:11px;display:grid;place-items:center;font-size:11px;background:#eef1f4;color:#5b6876;padding:0 6px}
.source-filter.open b{background:#e5383b;color:#fff}.source-filter.price b{background:#444ce7;color:#fff}.source-filter.low b{background:#fac515;color:#542c0d}.source-filter.out b{background:#d92d20;color:#fff}.source-filter.ended b{background:#475467;color:#fff}
.gallery-page .source-strip .source-filter[aria-pressed=true]{border-color:#1f2d3d;box-shadow:inset 0 0 0 1px #1f2d3d}
.gallery-page .source-strip .source-confirm-all{border:0;background:none;color:#3f6f8f;font-size:12px;padding:4px 6px;min-height:0;cursor:pointer;margin-left:auto}
.gallery-page .source-strip .source-confirm-all:hover{text-decoration:underline}
.product-card .source-layer .source-new:hover{background:#d62f33;border-color:transparent}
.product-card .source-layer .source-chips:hover{background:none}
.gallery-page .source-strip .source-filter:hover{background:#f7f9fb;border-color:#c5ced8}
