/* 選品データ · 発見 (2026-10-23): calendar strip, collections carousel, this month's kinds, shelves, the collection
   header and the 選品カレンダー page (discover.js). Same ink and surfaces as the library (gallery.css). */
.dc-icon{width:16px;height:16px;flex:none;vertical-align:-3px}
.dc-section{margin:0 0 28px}
.dc-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 12px}
.dc-head h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;font-size:18px;font-weight:700;color:#1f2d3d;letter-spacing:0}
.dc-head h2 .dc-icon{color:#de2660;width:18px;height:18px}
.dc-head h2 small{font-size:12px;font-weight:600;color:#7a8794}
.dc-more{display:inline-flex;align-items:center;gap:4px;flex:none;font-size:13px;font-weight:600;color:#3f6f8f;text-decoration:none;white-space:nowrap}
.dc-more:hover{text-decoration:underline}
.dc-kicker{display:inline-flex;align-items:center;gap:6px;margin:0 0 6px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}

/* Calendar strip */
.dc-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:10px;overflow-x:auto;list-style:none;margin:0;padding:2px 2px 10px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#d0d5dd transparent;}
.dc-event{scroll-snap-align:start;display:flex;gap:12px;align-items:stretch;background:#fff;border:1px solid #e5e9ed;border-radius:12px;padding:10px 12px;border-left:4px solid var(--dc-type,#2f9e77)}
.dc-event.is-holiday{--dc-type:#e5484d}.dc-event.is-season{--dc-type:#2f9e77}.dc-event.is-mercari{--dc-type:#ff3355}
.dc-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:48px;border-radius:8px;background:color-mix(in srgb,var(--dc-type,#2f9e77) 10%,#fff);color:var(--dc-type,#2f9e77);padding:4px 6px;line-height:1.15}
.dc-date b{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}.dc-date small{font-size:11px;font-weight:700}
.dc-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.dc-body strong{font-size:14px;font-weight:700;color:#1f2d3d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dc-sub{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:11.5px;color:#6b7887}
.dc-sub em{font-style:normal;font-weight:700;color:var(--dc-type,#2f9e77)}
.dc-listby{font-weight:700;color:#b54708}

/* Collections carousel */
.dc-hero{position:relative;margin:0 0 30px}
.dc-hero-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:20px;outline-offset:4px}
.dc-hero-track::-webkit-scrollbar{display:none}
:root{--dc-deco-a:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='64' viewBox='0 0 150 64'%3E%3Crect x='4' y='8' width='14' height='14' rx='3' fill='%23FBD38D'/%3E%3Ccircle cx='38' cy='15' r='7' fill='%239AD5C0'/%3E%3Ccircle cx='66' cy='15' r='8' fill='none' stroke='%23F4A6B8' stroke-width='3'/%3E%3Cpath d='M88 6L104 22H88Z' fill='%23A9C7E8'/%3E%3Cg fill='%23CBD5E1'%3E%3Ccircle cx='118' cy='8' r='2'/%3E%3Ccircle cx='128' cy='8' r='2'/%3E%3Ccircle cx='138' cy='8' r='2'/%3E%3Ccircle cx='118' cy='18' r='2'/%3E%3Ccircle cx='128' cy='18' r='2'/%3E%3Ccircle cx='138' cy='18' r='2'/%3E%3Ccircle cx='118' cy='28' r='2'/%3E%3Ccircle cx='128' cy='28' r='2'/%3E%3Ccircle cx='138' cy='28' r='2'/%3E%3C/g%3E%3Crect x='22' y='38' width='9' height='9' rx='1.5' transform='rotate(45 26.5 42.5)' fill='%23E8335F' fill-opacity='.55'/%3E%3Cpath d='M50 56a10 10 0 0 1 20 0Z' fill='%23FCE7A8'/%3E%3Crect x='84' y='40' width='22' height='8' rx='4' fill='%23C7E3F4'/%3E%3C/svg%3E");--dc-deco-b:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='80' viewBox='0 0 120 80'%3E%3Cpath d='M0 80V30a50 50 0 0 1 50 50Z' fill='%23EAF3FB'/%3E%3Ccircle cx='66' cy='44' r='6' fill='%23F7C6D3'/%3E%3Crect x='84' y='58' width='11' height='11' rx='2.5' fill='%239AD5C0'/%3E%3Cpath d='M96 30h10l-5 9Z' fill='%23FBD38D'/%3E%3Cg fill='%23CBD5E1'%3E%3Ccircle cx='40' cy='12' r='2'/%3E%3Ccircle cx='50' cy='12' r='2'/%3E%3Ccircle cx='60' cy='12' r='2'/%3E%3C/g%3E%3C/svg%3E")}
/* White with small geometric colour blocks (user 2026-10-23: 「底色从粉色换成白色+小色块组合做几何花纹装饰」): the
   collection's colour only in small touches (the bar above the title, 出品目安), the pictures on white. */
.dc-slide{scroll-snap-align:start;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:300px;border-radius:20px;overflow:hidden;
 background:#fff;border:1px solid #e8ebef;color:#1f2d3d}
.dc-slide-text{display:flex;flex-direction:column;justify-content:center;padding:34px 40px;gap:4px;background:var(--dc-deco-a) no-repeat right 22px top 20px,var(--dc-deco-b) no-repeat left 0 bottom 0}
.dc-slide-text::before{content:"";width:34px;height:4px;border-radius:2px;background:var(--dc-theme);margin:0 0 14px}
.dc-slide h2{margin:0 0 6px;font-size:32px;line-height:1.25;font-weight:800;letter-spacing:.01em;color:#1f2d3d}
.dc-why{margin:0 0 10px;font-size:15px;line-height:1.6;color:#4a5a6b;max-width:34em}
.dc-meta{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px;padding:0}
.dc-meta span{font-size:12.5px;font-weight:700;background:#fff;color:#4a5a6b;border:1px solid #e3e7ec;border-radius:999px;padding:3px 11px}
.dc-slide .dc-meta .dc-listby,.dc-coll .dc-meta .dc-listby{background:var(--dc-theme);color:#fff;border-color:var(--dc-theme)}
.dc-go{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:#1f2d3d;color:#fff;font-weight:800;font-size:14px;border-radius:999px;padding:10px 20px;text-decoration:none;box-shadow:0 6px 16px #1f2d3d26;transition:background .15s,transform .15s}
.dc-go:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--dc-theme) 82%,#1f2d3d)}
.dc-collage{position:relative;display:grid;gap:8px;padding:18px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));height:clamp(300px,27vw,360px);box-sizing:border-box;
 background:none;border-radius:0}
.dc-collage img{width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;border-radius:14px;background:#f4f5f7;border:0;box-sizing:border-box;box-shadow:0 4px 14px #1f2d3d14}
.dc-collage img:first-child{grid-row:1/span 2}
.dc-collage.n1{grid-template-columns:1fr}.dc-collage.n1 img{grid-row:1/span 2}
.dc-collage.n2 img:last-child{grid-row:1/span 2}
.dc-hero-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}
.dc-hero-nav>button{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #dbe4eb;background:#fff;color:#25364b;cursor:pointer;min-height:0;padding:0}
.dc-dots{display:flex;gap:6px}
.dc-dots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;min-height:0;background:#c5ced8;cursor:pointer}
.dc-dots button[aria-current=true]{width:22px;border-radius:4px;background:#de2660}

/* This month's kinds */
.dc-kinds{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:12px}
.dc-kind{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid #e5e9ed;border-radius:14px;padding:14px 16px;border-top:3px solid var(--dc-accent,#de2660)}
.dc-kind-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin:0;padding:0;border:0}
.dc-kind-top strong{font-size:15px;font-weight:700;color:#1f2d3d;line-height:1.4}
.dc-kind-top em,.dc-tags em,.dc-cal-block h3 em{flex:none;font-style:normal;font-size:11px;font-weight:700;border-radius:6px;padding:2px 7px;white-space:nowrap}
.src-report{background:#e6f6ee;color:#067647}.src-season{background:#eef2f6;color:#475467}.src-inferred{background:#fef0c7;color:#93370d}
.dc-kind p{margin:0;font-size:13px;line-height:1.6;color:#4a5a6b;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dc-kind--full p{-webkit-line-clamp:unset;display:block}
.dc-kind-go{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;margin-top:auto;font-size:13px;font-weight:700;color:#fff;background:var(--dc-accent,#de2660);border-radius:999px;padding:6px 14px;text-decoration:none}
.dc-kind-ref{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto}
.dc-kind-ref a,.dc-ref{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;color:#3f6f8f;text-decoration:none}
.dc-kind-ref a:hover,.dc-ref:hover{text-decoration:underline}
.dc-kind-none{font-size:12.5px;color:#7a8794}
.dc-kind-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:2px}
.dc-kind blockquote{margin:0;padding:8px 10px;border-left:3px solid #c5ced8;background:#f7f9fb;border-radius:0 8px 8px 0;font-size:12.5px;line-height:1.6;color:#4a5a6b}
.dc-kind blockquote a{display:inline-flex;align-items:center;gap:3px;color:#3f6f8f;font-weight:600}
.dc-refs summary{cursor:pointer;font-size:12.5px;font-weight:600;color:#4a5a6b}
.dc-refs ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.dc-refs li{display:flex;flex-direction:column;gap:1px;font-size:12px;line-height:1.45}
.dc-refs li a{color:#25364b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dc-refs li span{color:#7a8794}

/* Shelves */
.dc-shelf{margin:0 0 28px}
.dc-row{display:grid;grid-auto-flow:column;grid-auto-columns:168px;gap:12px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#d0d5dd transparent}
.gallery-page .dc-mini{scroll-snap-align:start;display:flex;flex-direction:column;gap:6px;text-align:left;border:0;background:none;padding:0;min-height:0;cursor:pointer;color:inherit;font:inherit}
.dc-mini-pic{position:relative;display:block;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#eef1f4;border:1px solid #e5e9ed}
.dc-mini-pic img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.dc-mini:hover .dc-mini-pic img{transform:scale(1.04)}
.dc-saved{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#079455;color:#fff}
.dc-saved .dc-icon{width:14px;height:14px}
.dc-mini-title{font-size:13px;line-height:1.45;color:#1f2d3d;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dc-mini-price{display:flex;align-items:baseline;justify-content:space-between;gap:6px;font-size:13.5px;font-weight:700;color:#1f2d3d;font-variant-numeric:tabular-nums}
.dc-mini-price small{font-size:11px;font-weight:600;color:#7a8794}

/* Collection header */
.dc-coll{position:relative;isolation:isolate;display:flex;gap:24px;align-items:stretch;border-radius:20px;overflow:hidden;margin:4px 0 26px;color:#1f2d3d;
 background:var(--dc-deco-a) no-repeat right 26px top 22px,var(--dc-deco-b) no-repeat right 0 bottom 0/90px auto,#fff;border:1px solid #e8ebef}
.dc-coll-cover{width:240px;max-width:34%;object-fit:cover;flex:none}
.dc-coll-text{display:flex;flex-direction:column;gap:4px;padding:24px 28px 22px 0}
.dc-coll:not(:has(.dc-coll-cover)) .dc-coll-text{padding-left:28px}
.dc-coll h2{margin:0 0 4px;font-size:28px;font-weight:800;line-height:1.3;color:#1f2d3d}
.dc-coll .dc-desc{margin:0 0 6px;font-size:13.5px;line-height:1.7;color:#4a5a6b;white-space:pre-wrap}
.dc-back{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;margin:0 0 10px;font-size:12.5px;font-weight:700;color:#3f6f8f;text-decoration:none;background:#fff;border:1px solid #e3e7ec;border-radius:999px;padding:4px 12px 4px 8px}

/* 選品カレンダー */
.dc-cal-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 14px}
.dc-cal-nav a{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:#3f6f8f;text-decoration:none;font-size:14px}
.dc-cal-nav strong{font-size:16px;color:#1f2d3d}
.dc-cal-banner{border-radius:20px;padding:26px 30px;margin:0 0 20px;background:var(--dc-deco-a) no-repeat right 30px center,#fff;border:1px solid #e8ebef}
.dc-cal-banner .dc-kicker{color:var(--dc-accent)}
.dc-cal-banner h2{margin:0;font-size:30px;font-weight:800;color:#1f2d3d}
.dc-cal-banner p:last-child{margin:6px 0 0;font-size:15px;font-weight:600;color:var(--dc-accent)}
.dc-cal-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:20px;align-items:start}
.dc-cal-block{background:#fff;border:1px solid #e5e9ed;border-radius:16px;padding:16px 18px;margin:0 0 16px}
.dc-cal-block h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:15px;font-weight:700;color:#1f2d3d}
.dc-timeline{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.dc-timeline li{display:flex;gap:10px;align-items:flex-start;--dc-type:#2f9e77}
.dc-timeline li.is-holiday{--dc-type:#e5484d}
.dc-timeline li>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.dc-timeline strong{font-size:14px;color:#1f2d3d}
.dc-timeline em{font-style:normal;font-size:11px;font-weight:700;color:var(--dc-type)}
.dc-timeline small,.dc-campaigns small{font-size:12px;line-height:1.55;color:#6b7887}
.dc-campaigns{list-style:none;margin:0;padding:0;display:grid;gap:12px}
/* Single-column lists may shrink: phrase-wise line breaking (word-break:auto-phrase) makes long phrases wide. */
.dc-tips,.dc-timeline,.dc-campaigns{grid-template-columns:minmax(0,1fr)}
.dc-campaigns li{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;font-size:13px}
.dc-campaigns li.is-inferred{opacity:.82}
.dc-campaigns li>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.dc-campaigns strong{color:#1f2d3d;line-height:1.45}
.dc-when{font-size:12px;font-weight:700;color:#ff3355;font-variant-numeric:tabular-nums}
.dc-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.dc-tags a{display:inline-flex;align-items:center;gap:3px;font-size:12px;color:#3f6f8f;font-weight:600}
.dc-kinds--full{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}
.dc-hot{display:grid;gap:8px}
.dc-hot details{border:1px solid #edf0f3;border-radius:10px;padding:8px 12px;background:#fafbfc}
.dc-hot summary{cursor:pointer;display:flex;flex-direction:column;gap:2px;font-size:13px}
.dc-hot summary span{font-size:12.5px;color:#4a5a6b;line-height:1.55}
.dc-hot ul,.dc-tips{margin:8px 0 0;padding-left:18px;display:grid;gap:4px;font-size:12.5px;line-height:1.55;color:#4a5a6b}
.dc-tips{margin-top:14px}
.dc-sources{display:flex;flex-wrap:wrap;gap:6px 14px;margin:12px 0 0;font-size:12px}
.dc-sources a{display:inline-flex;align-items:center;gap:3px;color:#3f6f8f}
.dc-cal-foot{margin:4px 0 30px;font-size:12px;line-height:1.6;color:#7a8794}
.dc-cal-foot a{display:inline-flex;align-items:center;gap:3px;color:#3f6f8f}
.dc-empty{margin:0;font-size:13px;color:#7a8794}
body[data-view=calendar] #catalog-content>.browse-layout,body[data-view=calendar] #discovery>:not(#calendar-view),body[data-view=calendar] #catalog-quota{display:none!important}
body[data-view=collection] #discovery>:not(#collection-head){display:none!important}

@media(max-width:900px){
 .dc-slide{grid-template-columns:1fr;min-height:0;align-self:start}
 .dc-slide-text{background:var(--dc-deco-a) no-repeat right 14px top 14px/112px auto}
 .dc-coll,.dc-cal-banner{background:var(--dc-deco-a) no-repeat right 14px top 14px/112px auto,#fff}
 .dc-slide .dc-why{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .dc-collage{padding:14px;margin:0 12px 12px;height:auto;grid-template-rows:auto;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:18px}
 .dc-collage img:first-child{grid-row:auto}.dc-collage img{height:auto;aspect-ratio:1}.dc-collage.n2 img:last-child{grid-row:auto}
 .dc-slide-text{padding:24px 22px 16px}.dc-slide h2{font-size:24px}
 .dc-cal-grid{grid-template-columns:minmax(0,1fr)}
 .dc-cal-grid>*{min-width:0}
 .dc-cal-block{overflow-wrap:anywhere}
 .dc-coll{flex-direction:column;gap:0}.dc-coll-cover{width:100%;max-width:none;height:180px}.dc-coll-text{padding:18px 20px}
}
@media(max-width:560px){
 .dc-strip{grid-auto-columns:82%}
 .dc-head h2{font-size:16px}
 .dc-kinds{grid-template-columns:1fr}
 .dc-cal-banner{padding:20px}.dc-cal-banner h2{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.dc-mini-pic img,.dc-go{transition:none}}
