/*
 * Yabu Meizan Archive — front-end styles.
 * Scoped to .yabu-archive so the theme stays in control of everything else.
 */
.yabu-archive {
	--yabu-cream: #FAF7F0;
	--yabu-black: #121212;
	--yabu-gold: #C5A059;
	--yabu-gold-bright: #D4AF37;
	--yabu-wisteria: #4A2E4B;
	--yabu-ink: #2a2522;
	--yabu-muted: #6b625a;
	--yabu-line: rgba(197, 160, 89, 0.45);
	--yabu-radius: 2px;
	--yabu-font-display: "Cormorant Garamond", "Cormorant", Garamond, "Times New Roman", serif;
	--yabu-font-body: "EB Garamond", Garamond, Georgia, serif;
	--yabu-font-ui: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--yabu-font-ja: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
	--yabu-zoom-height: min(75vh, 760px);

	background: var(--yabu-cream);
	color: var(--yabu-ink);
	font-family: var(--yabu-font-body);
	font-size: 1.0625rem;
	line-height: 1.65;
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp(1.25rem, 3vw, 3rem) clamp(1rem, 4vw, 3rem);
	box-sizing: border-box;
}
.yabu-archive *, .yabu-archive *::before, .yabu-archive *::after { box-sizing: inherit; }
.yabu-archive--embed { padding: 0; max-width: none; background: transparent; }

.yabu-archive [lang="ja"], .yabu-archive :lang(ja) { font-family: var(--yabu-font-ja); font-feature-settings: "palt"; }

.yabu-archive h1, .yabu-archive h2, .yabu-archive h3 {
	font-family: var(--yabu-font-display);
	font-weight: 500;
	color: var(--yabu-black);
	line-height: 1.15;
	letter-spacing: 0.01em;
}
.yabu-archive h1 { font-size: clamp(2rem, 4.5vw, 3.25rem); margin: 0 0 0.35em; }
.yabu-archive h2 { font-size: clamp(1.4rem, 2.5vw, 1.85rem); margin: 1.5em 0 0.5em; }
.yabu-archive a { color: var(--yabu-wisteria); text-decoration-color: var(--yabu-gold); text-underline-offset: 0.18em; }
.yabu-archive a:hover { color: var(--yabu-black); }
.yabu-archive :focus-visible { outline: 2px solid var(--yabu-gold-bright); outline-offset: 2px; }

.yabu-sr-only {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Headers */
.yabu-archive__header, .yabu-record__header { border-bottom: 1px solid var(--yabu-line); padding-bottom: 1.25rem; margin-bottom: 1.75rem; }
.yabu-archive__header h1 span[lang="ja"] { display: block; font-size: 0.5em; color: var(--yabu-muted); margin-top: 0.3em; }
.yabu-archive__intro { max-width: 70ch; color: var(--yabu-muted); font-size: 1.125rem; }
.yabu-record__ja { font-size: 1.35rem; color: var(--yabu-wisteria); margin: 0; }
.yabu-breadcrumb { font-family: var(--yabu-font-ui); font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.75rem; }
.yabu-breadcrumb a { text-decoration: none; }
.yabu-breadcrumb a::before { content: "← "; color: var(--yabu-gold); }

/* Badges and tags */
.yabu-badge { font-family: var(--yabu-font-ui); font-size: 0.875rem; padding: 0.6rem 0.9rem; border-left: 3px solid var(--yabu-gold); background: rgba(197, 160, 89, 0.12); margin: 1rem 0 0; }
.yabu-badge--warn { border-left-color: var(--yabu-wisteria); background: rgba(74, 46, 75, 0.08); }
.yabu-tag { display: inline-block; font-family: var(--yabu-font-ui); font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.15em 0.55em; border: 1px solid var(--yabu-line); color: var(--yabu-muted); border-radius: var(--yabu-radius); vertical-align: middle; }
.yabu-tag--ok { border-color: var(--yabu-gold); color: #6d5420; background: rgba(212, 175, 55, 0.12); }
.yabu-tag--warn { border-color: var(--yabu-wisteria); color: var(--yabu-wisteria); }

/* Chips */
.yabu-filters { display: grid; gap: 0.75rem; margin-bottom: 1rem; }
.yabu-chip-group { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; }
.yabu-chip-group__label { font-family: var(--yabu-font-ui); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--yabu-muted); min-width: 7.5rem; }
.yabu-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem; padding: 0; margin: 0 0 1rem; }
.yabu-chip {
	display: inline-flex; align-items: center; gap: 0.35em; min-height: 2.25rem;
	padding: 0.3rem 0.85rem; border: 1px solid var(--yabu-line); border-radius: 999px;
	font-family: var(--yabu-font-ui); font-size: 0.85rem; text-decoration: none; color: var(--yabu-ink);
	background: #fff; transition: background-color .15s, border-color .15s, color .15s;
}
.yabu-chip:hover { border-color: var(--yabu-gold); color: var(--yabu-black); }
.yabu-chip[aria-pressed="true"] { background: var(--yabu-black); border-color: var(--yabu-black); color: var(--yabu-cream); }
.yabu-chip[aria-pressed="true"] [lang="ja"] { color: var(--yabu-gold-bright); }
.yabu-chip [lang="ja"] { color: var(--yabu-muted); font-size: 0.95em; }

.yabu-count { font-family: var(--yabu-font-ui); font-size: 0.8rem; color: var(--yabu-muted); margin: 0.5rem 0 1rem; }
.yabu-empty { font-style: italic; color: var(--yabu-muted); }
.yabu-note { font-family: var(--yabu-font-ui); font-size: 0.8rem; color: var(--yabu-muted); margin-top: 1rem; }

/* Grid cards */
.yabu-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: clamp(1rem, 2vw, 1.75rem); }
.yabu-grid--marks { grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); }
.yabu-card { background: #fff; border: 1px solid rgba(197, 160, 89, 0.3); transition: border-color .2s, box-shadow .2s, transform .2s; }
.yabu-card:hover, .yabu-card:focus-within { border-color: var(--yabu-gold); box-shadow: 0 8px 24px rgba(18, 18, 18, 0.08); transform: translateY(-2px); }
.yabu-card__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.yabu-card__media { display: block; aspect-ratio: 4 / 5; background: var(--yabu-black); overflow: hidden; }
.yabu-card__media--square { aspect-ratio: 1; }
.yabu-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.yabu-card__placeholder { display: grid; place-items: center; height: 100%; font-family: var(--yabu-font-ja); font-size: 3rem; color: var(--yabu-gold); }
.yabu-card__body { display: flex; flex-direction: column; gap: 0.25rem; padding: 0.9rem 1rem 1.1rem; }
.yabu-card__title { font-family: var(--yabu-font-display); font-size: 1.25rem; line-height: 1.2; color: var(--yabu-black); }
.yabu-card__ja { color: var(--yabu-wisteria); font-size: 0.95rem; }
.yabu-card__meta { font-family: var(--yabu-font-ui); font-size: 0.78rem; color: var(--yabu-muted); }
.yabu-card .yabu-tag { align-self: flex-start; margin-top: 0.35rem; }
.yabu-item[hidden] { display: none; }

/* Auction table */
.yabu-auction__filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 0.75rem 1rem; align-items: end; padding: 1rem; background: #fff; border: 1px solid var(--yabu-line); margin-bottom: 0.5rem; }
.yabu-field { display: flex; flex-direction: column; gap: 0.25rem; }
.yabu-field--search { grid-column: span 2; }
@media (max-width: 520px) { .yabu-field--search { grid-column: auto; } }
.yabu-field label { font-family: var(--yabu-font-ui); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--yabu-muted); }
.yabu-field input, .yabu-field select {
	font: 0.95rem var(--yabu-font-ui); min-height: 2.5rem; padding: 0.35rem 0.6rem;
	border: 1px solid rgba(18, 18, 18, 0.25); border-radius: var(--yabu-radius); background: var(--yabu-cream); color: var(--yabu-ink); width: 100%;
}
.yabu-button { font: 500 0.85rem var(--yabu-font-ui); min-height: 2.5rem; padding: 0.4rem 1rem; border: 1px solid var(--yabu-black); background: var(--yabu-black); color: var(--yabu-cream); cursor: pointer; border-radius: var(--yabu-radius); }
.yabu-button:hover { background: var(--yabu-wisteria); border-color: var(--yabu-wisteria); }

.yabu-table-wrap { overflow-x: auto; border: 1px solid var(--yabu-line); background: #fff; }
.yabu-table { width: 100%; border-collapse: collapse; font-family: var(--yabu-font-ui); font-size: 0.875rem; font-variant-numeric: tabular-nums; }
.yabu-table th, .yabu-table td { padding: 0.65rem 0.8rem; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(197, 160, 89, 0.22); }
.yabu-table thead th { position: sticky; top: 0; background: var(--yabu-black); color: var(--yabu-cream); font-weight: 500; white-space: nowrap; padding: 0; }
.yabu-table tbody th { font-weight: 500; font-family: var(--yabu-font-body); font-size: 1rem; min-width: 14rem; }
.yabu-table tbody tr:hover { background: rgba(197, 160, 89, 0.07); }
.yabu-table tbody tr[hidden] { display: none; }
.yabu-table__sub { display: block; color: var(--yabu-muted); font-size: 0.78rem; }
.yabu-sort { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 0.4rem; width: 100%; padding: 0.7rem 0.8rem; cursor: pointer; font: inherit; color: inherit; }
.yabu-sort:focus-visible { outline: 2px solid var(--yabu-gold-bright); outline-offset: -2px; }
.yabu-sort__icon::after { content: "↕"; color: var(--yabu-gold); opacity: 0.6; font-size: 0.85em; }
th[aria-sort="ascending"] .yabu-sort__icon::after { content: "↑"; opacity: 1; }
th[aria-sort="descending"] .yabu-sort__icon::after { content: "↓"; opacity: 1; }

/* Single record */
.yabu-record__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 340px); gap: clamp(1.5rem, 4vw, 3.5rem); margin-top: 2rem; }
@media (max-width: 900px) { .yabu-record__layout { grid-template-columns: 1fr; } }
.yabu-record__content { max-width: 70ch; }
.yabu-record__image img { max-width: 100%; height: auto; }
.yabu-record__aside { align-self: start; position: sticky; top: 1.5rem; padding: 1.25rem; background: #fff; border-top: 3px solid var(--yabu-gold); }
@media (max-width: 900px) { .yabu-record__aside { position: static; } }
.yabu-dl { margin: 0; }
.yabu-dl__row { padding: 0.55rem 0; border-bottom: 1px solid rgba(197, 160, 89, 0.22); }
.yabu-dl dt { font-family: var(--yabu-font-ui); font-size: 0.7rem; letter-spacing: 0.09em; text-transform: uppercase; color: var(--yabu-muted); }
.yabu-dl dd { margin: 0.1rem 0 0; }
.yabu-dl dd img { max-width: 100%; height: auto; }
.yabu-sources h2 { font-size: 1.15rem; margin-top: 1.5rem; }
.yabu-sources { font-size: 0.9rem; overflow-wrap: anywhere; }
.yabu-gallery { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 0.75rem; }
.yabu-gallery img { width: 100%; height: auto; display: block; border: 1px solid var(--yabu-line); }
.yabu-related { padding-left: 1.1rem; }

/* Deep zoom */
.yabu-zoom-wrap { margin: 0 0 1.5rem; }
.yabu-zoom { position: relative; width: 100%; height: var(--yabu-zoom-height); min-height: 320px; background: var(--yabu-black); border: 1px solid var(--yabu-gold); overflow: hidden; }
.yabu-zoom__fallback { width: 100%; height: 100%; object-fit: contain; display: block; color: var(--yabu-cream); margin: 0; padding: 1rem; }
.yabu-zoom.is-ready .yabu-zoom__fallback { display: none; }
.yabu-zoom__caption { font-family: var(--yabu-font-ui); font-size: 0.78rem; color: var(--yabu-muted); margin-top: 0.4rem; }

/* Comparison slider */
.yabu-compare { margin: 0 0 1.5rem; max-width: 900px; }
.yabu-compare__stage { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; background: var(--yabu-black); }
.yabu-compare__item { position: relative; margin: 0; }
.yabu-compare__item img { display: block; width: 100%; height: auto; }
.yabu-compare__label { position: absolute; bottom: 0.5rem; padding: 0.2rem 0.55rem; font: 500 0.72rem var(--yabu-font-ui); letter-spacing: 0.06em; text-transform: uppercase; background: rgba(18, 18, 18, 0.75); color: var(--yabu-gold-bright); }
.yabu-compare__label--left { left: 0.5rem; }
.yabu-compare__label--right { right: 0.5rem; }
.yabu-compare__handle, .yabu-compare__range { display: none; }
.yabu-compare__caption { display: flex; justify-content: space-between; font-family: var(--yabu-font-ui); font-size: 0.8rem; color: var(--yabu-muted); margin-top: 0.4rem; }

/* Enhanced (JS) mode: overlay with a draggable divider. */
.yabu-compare.is-ready .yabu-compare__stage { position: relative; display: block; overflow: hidden; touch-action: pan-y; }
.yabu-compare.is-ready .yabu-compare__item--left { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--yabu-pos)) 0 0); }
.yabu-compare.is-ready .yabu-compare__item--left img { height: 100%; object-fit: cover; }
.yabu-compare.is-ready .yabu-compare__handle { display: block; position: absolute; top: 0; bottom: 0; left: var(--yabu-pos); width: 2px; margin-left: -1px; background: var(--yabu-gold-bright); pointer-events: none; }
.yabu-compare.is-ready .yabu-compare__handle::after { content: "⟷"; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: 50%; background: var(--yabu-black); color: var(--yabu-gold-bright); border: 1px solid var(--yabu-gold); font-size: 1rem; }
.yabu-compare.is-ready .yabu-compare__range { display: block; width: 100%; margin: 0.6rem 0 0; accent-color: var(--yabu-gold); }

/* Museum list / bibliography */
.yabu-museum { padding: 1rem 0; border-top: 1px solid var(--yabu-line); }
.yabu-museum__name { margin-top: 0.25rem; }
.yabu-list { list-style: none; padding: 0; margin: 0; }
.yabu-list__item { padding: 0.5rem 0; border-bottom: 1px dotted rgba(197, 160, 89, 0.35); }
.yabu-list__meta { font-family: var(--yabu-font-ui); font-size: 0.8rem; color: var(--yabu-muted); }
.yabu-list__ext, .yabu-bib__url { font-family: var(--yabu-font-ui); font-size: 0.8rem; }
.yabu-bib { padding-left: 1.25rem; }
.yabu-bib__item { margin-bottom: 0.85rem; padding-left: 0.25rem; }
.yabu-bib__isbn { font-family: var(--yabu-font-ui); font-size: 0.8rem; color: var(--yabu-muted); }

@media (prefers-reduced-motion: reduce) {
	.yabu-card, .yabu-chip { transition: none; }
	.yabu-card:hover, .yabu-card:focus-within { transform: none; }
}
@media print {
	.yabu-filters, .yabu-auction__filters, .yabu-zoom-wrap, .yabu-compare__range { display: none !important; }
	.yabu-archive { background: #fff; }
}

/* Image credits (1.1.0) */
.yabu-credit { display: block; margin-top: 0.5rem; font-family: var(--yabu-font-body); font-size: 0.82rem; line-height: 1.45; font-style: italic; color: var(--yabu-muted); }
.yabu-credit__label { font-style: normal; font-variant-caps: all-small-caps; letter-spacing: 0.12em; color: #8a6d3b; }
.yabu-credit a { color: inherit; }
.yabu-record__image { margin: 0 0 1.75rem; }
.yabu-gallery figure { margin: 0; }
.yabu-compare__credits { margin: 0.5rem 0 0; }
.yabu-archive__page { max-width: 60rem; margin: 0 0 2.5rem; }

/* 1.5.0 — auction photos: table thumbnails, gallery view, top-five cards, lightbox */
.yabu-viewtoggle{display:flex;gap:.5rem;margin:.75rem 0}
.yabu-viewtoggle__btn.is-active{background:#1f1a14;color:#f5efe3}
.yabu-table__photo{width:88px;padding:4px!important}
.yabu-thumb{display:block;width:80px;height:80px;overflow:hidden;border-radius:2px;background:#efe9de}
.yabu-thumb img{width:80px;height:80px;object-fit:cover;display:block;transition:transform .2s}
.yabu-thumb:hover img{transform:scale(1.06)}
.yabu-thumb--none{background:repeating-linear-gradient(45deg,#f2ede4,#f2ede4 6px,#ebe4d8 6px,#ebe4d8 12px)}
.yabu-agrid{list-style:none;margin:1rem 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}
.yabu-agrid[hidden],.yabu-agrid__item[hidden]{display:none}
.yabu-agrid__link{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.yabu-agrid__img{display:block;aspect-ratio:1/1;background:#efe9de;overflow:hidden}
.yabu-agrid__img img{width:100%;height:100%;object-fit:contain;display:block}
.yabu-agrid__title{font-family:Georgia,serif;margin-top:.5rem;line-height:1.3}
.yabu-agrid__meta,.yabu-agrid__credit{font-size:.8rem;color:#6b6257}
.yabu-agrid__price{font-weight:600;margin-top:.2rem}
.ym-top-auctions--cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;counter-reset:ymtop}
.ym-top-auctions--cards>li{counter-increment:ymtop;position:relative}
.ym-top-auctions--cards>li::before{content:counter(ymtop,decimal-leading-zero);position:absolute;top:.4rem;left:.4rem;background:#1f1a14;color:#d9b45a;font:600 .8rem/1 Georgia,serif;padding:.3rem .45rem;z-index:1}
.ym-top-card__img{display:block}
.ym-top-card .yabu-agrid__img{aspect-ratio:3/4}
.ym-top-card .yabu-credit{display:block;font-size:.72rem;color:#6b6257;margin:.25rem 0}
@media (max-width:900px){.ym-top-auctions--cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.yabu-agrid{grid-template-columns:repeat(2,1fr);gap:.75rem}.yabu-table__photo{width:60px}.yabu-thumb,.yabu-thumb img{width:56px;height:56px}}
.yabu-lb{position:fixed;inset:0;background:rgba(15,12,8,.9);z-index:99999;display:flex;align-items:center;justify-content:center;padding:1rem}
.yabu-lb[hidden]{display:none}
.yabu-lb__fig{margin:0;max-width:min(92vw,900px);text-align:center;color:#f5efe3}
.yabu-lb__fig img{max-width:100%;max-height:78vh;object-fit:contain}
.yabu-lb__fig figcaption{font-size:.85rem;margin-top:.5rem}
.yabu-lb__link{color:#d9b45a;margin-left:.5rem}
.yabu-lb__close{position:absolute;top:.75rem;right:1rem;font-size:2rem;background:none;border:0;color:#f5efe3;cursor:pointer}
body.yabu-lb-open{overflow:hidden}
/* 1.5.0 — Top 100 */
.ym-top100__item{position:relative}
.ym-top100__rank{position:absolute;top:.4rem;left:.4rem;z-index:1;background:#1f1a14;color:#d9b45a;font:600 .85rem/1 Georgia,serif;padding:.35rem .5rem}
.ym-top100__grid{counter-reset:none}
.ym-top100__src{font-size:.8rem}
.ym-top100__lede{max-width:52rem}
.ym-tabs{display:flex;gap:1.5rem;border-bottom:1px solid #d8cfbf;margin:2rem 0 1rem}
.ym-tabs a{padding:.5rem 0;text-decoration:none;color:inherit}
.ym-tabs a.is-active{border-bottom:2px solid #b08a3e;font-weight:600}
/* 1.5.0 Top 100 sales */
.ym-top-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ym-top-sales{width:100%;border-collapse:collapse;font-size:.92rem}
.ym-top-sales caption{caption-side:top;text-align:left;padding:.5rem 0;color:#6b5d4d;font-style:italic}
.ym-top-sales th,.ym-top-sales td{padding:.55rem .5rem;border-bottom:1px solid #e6dccb;vertical-align:top;text-align:left}
.ym-top-sales th button{background:none;border:0;padding:0;font:inherit;font-weight:600;cursor:pointer;color:inherit}
.ym-top-sales th button::after{content:" \2195";opacity:.5}
.ym-top-rank{font-variant-numeric:tabular-nums;font-weight:600;width:2.5rem}
.ym-top-img{width:88px}.ym-top-thumb{width:80px;height:80px;object-fit:cover;display:block;border-radius:2px}
.ym-top-noimg{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:#f3ede3;text-align:center}.ym-top-noimg__txt{font-size:.66rem;line-height:1.2;color:#6b5d4d;padding:4px}
.ym-top-attr,.ym-top-resales,.ym-top-basis{display:block;font-size:.78rem;color:#6b5d4d}
.ym-top-price,.ym-top-usd{white-space:nowrap;font-variant-numeric:tabular-nums}
.ym-top-flagged{margin-top:2rem}
@media (max-width:720px){
 .ym-top-sales thead{display:none}
 .ym-top-sales tr{display:grid;grid-template-columns:2.2rem 84px 1fr;gap:.2rem .6rem;padding:.7rem 0;border-bottom:1px solid #e6dccb}
 .ym-top-sales td{border:0;padding:0}
 .ym-top-rank{grid-row:1/span 4}.ym-top-img{grid-row:1/span 4}
 .ym-top-house,.ym-top-date,.ym-top-price,.ym-top-usd,.ym-top-dims,.ym-top-lot{grid-column:3;font-size:.85rem}
}

/* 1.6.2 */
.yabu-tag--cited { border-style: dashed; color: #5b5145; }
.yabu-footer-credits { margin: 0; padding: 0.9rem 1.25rem 1.4rem; text-align: center; font-size: 0.85rem; }
.yabu-footer-credits a { color: #6B5426; }
.ylib__heading { margin: 2rem 0 1rem; }
