.shrine-hero { padding:70px 0 20px; }
.shrine-title { margin:12px 0 0; font-family:Georgia,"Hiragino Mincho ProN",serif; font-size:clamp(2rem,4vw,3rem); font-weight:400; }
.shrine-lead { color:#607177; font-size:1rem; margin-top:10px; }

.shrine-filters { padding:20px 0 10px; display:flex; flex-direction:column; gap:20px; }
.shrine-filter-group { display:flex; flex-direction:column; gap:10px; }
.shrine-chip-row { display:flex; flex-wrap:wrap; gap:8px; }
.shrine-chip {
  padding:8px 16px; background:#fbfaf7; border:1px solid var(--line); border-radius:999px;
  font:inherit; font-size:.84rem; color:var(--ink); cursor:pointer;
}
.shrine-chip:hover { border-color:#48606a; }
.shrine-chip:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.shrine-chip.is-selected { background:var(--night); border-color:var(--night); color:#fff; }

.shrine-results { padding:30px 0 60px; }
.shrine-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:18px; }
.shrine-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); overflow:hidden; color:inherit; }
.shrine-card:hover { border-color:#48606a; }
.shrine-card img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.shrine-card-noimage { width:100%; aspect-ratio:4/3; background:linear-gradient(145deg,#e9e3d6,#d5e2dd); }
.shrine-card-body { padding:18px 20px; display:flex; flex-direction:column; gap:8px; }
.shrine-card-region { font-size:.76rem; color:#75888d; }
.shrine-card h3 { margin:0; font-family:Georgia,"Hiragino Mincho ProN",serif; font-size:1.1rem; font-weight:400; }
.shrine-card-summary { margin:0; font-size:.86rem; color:#52646a; line-height:1.6; }
.shrine-card-tags { display:flex; flex-wrap:wrap; gap:6px; }
.shrine-tag { font-size:.72rem; padding:3px 10px; background:#edf2ee; color:#48606a; border-radius:999px; }
.shrine-empty { grid-column:1 / -1; margin:0; padding:26px 20px; background:#edf2ee; color:#52646a; font-size:.92rem; }
.shrine-card-actions{display:flex;flex-direction:column;gap:8px;padding:0 14px 14px;font-size:12px}.shrine-card-actions a{padding:6px 0;color:#246d78;text-underline-offset:3px}.shrine-card-actions a:focus-visible{outline:3px solid #c88624;outline-offset:3px}
@media(max-width:760px){.shrine-layout .shrine-grid .shrine-card:only-child{grid-column:1/-1}.shrine-layout .shrine-grid .shrine-card:only-child img{aspect-ratio:4/3}}

#shrine-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.shrine-filter-remove{font:inherit;font-size:12px;color:#246d78;background:#edf3ef;border:1px solid #bdceca;border-radius:999px;padding:7px 12px;cursor:pointer}.shrine-filter-remove:focus-visible{outline:3px solid #c88624;outline-offset:3px}
.shrine-notes { padding-bottom:80px; }
.shrine-notes p { margin:0 0 8px; font-size:.8rem; color:#75888d; }

/* 詳細ページ */
.shrine-detail .shrine-loading { color:#75888d; }
.shrine-detail-list { margin:32px 0; border-top:1px solid var(--line); }
.shrine-detail-list dt { margin-top:20px; font-size:.78rem; font-weight:700; letter-spacing:.05em; color:#48606a; }
.shrine-detail-list dd { margin:6px 0 0; color:#33474e; line-height:1.8; }
.shrine-search-link { margin-top:40px; }

@media (prefers-reduced-motion: reduce) {
  .shrine-card { transition:none; }
}

@media (max-width:700px) {
  .shrine-grid { grid-template-columns:1fr; }
  .shrine-chip { padding:7px 14px; font-size:.8rem; }
}

/* Photo-led chooser: controls sit beside results, collapsed on phones. */
.shrine-hero{padding:18px 0 24px}.shrine-title{font-size:clamp(28px,3.3vw,44px)}.shrine-lead{margin:8px 0 0}.shrine-layout .shrine-filters{padding:0;gap:0}.shrine-layout .shrine-filter-group{gap:8px;margin-bottom:22px}.shrine-layout .picker-label{font-size:12px;margin:0 0 3px}.shrine-layout .shrine-chip-row{gap:6px}.shrine-layout .shrine-chip{font-size:11px;padding:7px 10px}.shrine-layout .shrine-results{padding:0}.shrine-layout .shrine-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.shrine-card{border-radius:16px;min-width:0}.shrine-card-link{color:inherit;text-decoration:none;display:block}.shrine-photo{margin:0}.shrine-card-body{padding:14px 16px;gap:8px}.shrine-card h3{font-size:18px;font-weight:500}.shrine-card-tags{gap:4px}.shrine-tag{font-size:10px;padding:3px 7px}.shrine-photo-credit{padding:0 14px 12px;font-size:9px;color:#748076}.shrine-photo-credit a{color:inherit}.shrine-card-region{font-size:11px}.shrine-detail-photo{margin:24px 0}.shrine-detail-photo img{display:block;width:100%;max-height:560px;object-fit:cover}.shrine-detail-photo figcaption{font-size:11px;color:#718076;margin-top:6px}.shrine-notes{padding-bottom:0}@media(max-width:1100px){.shrine-layout .shrine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.shrine-hero{padding:14px 0 18px}.shrine-layout .shrine-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shrine-card img{aspect-ratio:1/1}.shrine-card-body{padding:11px}.shrine-card h3{font-size:16px}.shrine-card-region{font-size:10px}.shrine-photo-credit{font-size:8px;padding:0 11px 11px}.shrine-filter-group .shrine-chip{font-size:12px}.shrine-layout .shrine-filters{margin-bottom:16px}}@media(max-width:360px){.shrine-layout .shrine-grid{grid-template-columns:1fr}}
