/* Katalog, Losseite, Archiv, Termine. Ergänzt site.css, nutzt dieselben Farben. */

/* Kopfzeile Auktion */
.cat-auctionfacts { list-style: none; padding: 0; margin: 14px 0 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 30px; }
.pagehead .crumbs { text-align: left; }
.pagehead--left .cat-auctionfacts { justify-content: flex-start; }
.cat-auctionfacts li { color: var(--ink); font-size: .95rem; font-family: var(--serif); }
.cat-auctionfacts span { display: block; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }

/* Filterleiste */
.cat-filterbar { min-width: 0; max-width: 100%; background: #fff; border: 0; border-radius: 3px; box-shadow: var(--shadow-card); padding: 14px 16px; margin-bottom: 14px; display: grid; gap: 12px; }
.cat-filterbar--simple { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin-bottom: 26px; }
.cat-filterbar__search, .cat-filterbar__opts { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; }
.cat-filterbar__field { min-width: 0; display: flex; flex-direction: column; gap: 3px; font-size: .78rem; font-weight: 600; letter-spacing: .04em; color: var(--muted); }
.cat-filterbar__field span { text-transform: uppercase; }
.cat-filterbar__field input, .cat-filterbar__field select { font: 400 1rem var(--sans); color: var(--ink); padding: 9px 11px; border: 1px solid #c9ced1; background: #fff; border-radius: 3px; min-height: 42px; }
.cat-filterbar__field input:focus, .cat-filterbar__field select:focus { outline: 2px solid var(--petrol); outline-offset: 0; border-color: var(--petrol); }
.cat-filterbar__field--grow { flex: 1 1 220px; }
.cat-filterbar__field input, .cat-filterbar__field select { max-width: 100%; }
.cat-filterbar__field--lot input { width: 130px; }
.cat-filterbar__go { min-height: 42px; }
.cat-filterbar__check { display: flex; gap: 8px; align-items: center; font-size: .95rem; min-height: 42px; cursor: pointer; }
.cat-filterbar__check input { width: 18px; height: 18px; }
.cat-filterbar__cat { display: none; }
.cat-resultline { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 0 0 22px; color: var(--ink-2); font-size: .95rem; }
.pager__gap { border-color: transparent !important; }

/* Karten */
.lotcard__img { position: relative; }
.lotbadge { position: absolute; left: 8px; top: 8px; font: 700 .72rem/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; padding: 6px 8px; background: #fff; color: var(--ink-2); border: 1px solid var(--line); border-radius: 3px; }
.lotbadge--sold { background: var(--dark); border-color: var(--dark); color: #fff; }
.lotbadge--muted { color: var(--muted); }
.lotbadge--big { font-size: .85rem; padding: 8px 12px; left: 12px; top: 12px; }
.lotcard--sold .lotcard__img img { opacity: .72; }
.lotcard__sold { color: var(--dark); font-weight: 700; }

/* Status-Etikett */
.cat-status { display: inline-block; font: 700 .74rem/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; padding: 6px 9px; border: 1px solid currentColor; border-radius: 3px; margin-right: 8px; }
.cat-status--sold { color: #fff; background: var(--dark); border-color: var(--dark); }
.cat-status--aftersale { color: var(--petrol); }
.cat-status--catalog, .cat-status--live { color: var(--ok); }
.cat-status--unsold, .cat-status--finished, .cat-status--withdrawn { color: var(--muted); }
.archivetable .cat-status { font-size: .66rem; padding: 3px 6px; margin: 0 0 0 6px; }

/* Losseite */
.lottop { display: flex; justify-content: space-between; align-items: center; gap: 10px 20px; flex-wrap: wrap; margin: 26px 0 16px; }
.lottop .crumbs { margin: 0; }
.lotnav { display: flex; gap: 22px; align-items: center; font-size: .92rem; }
.lotnav a { text-decoration: none; font-weight: 600; white-space: nowrap; }
.lotnav--bottom { justify-content: space-between; border-top: 1px solid var(--line); margin-top: 44px; padding-top: 16px; }
.gallery__main { position: relative; }
.gallery__main img { cursor: zoom-in; }
.gallery__hint { position: absolute; right: 10px; bottom: 10px; font: 600 .72rem/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--petrol); background: rgba(255,255,255,.9); border: 1px solid var(--line); border-radius: 3px; padding: 6px 8px; pointer-events: none; }
.lottitle { font-size: 1.75rem; margin-bottom: .4em; }
.lotstatus { margin: 0 0 16px; }
.cat-pricebox { border-top: 1px solid var(--grey); border-bottom: 1px solid var(--line-soft); padding: 14px 0 12px; margin-bottom: 18px; }
.cat-pricebox__main { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.cat-pricebox__main span { color: var(--muted); }
.cat-pricebox__main strong { font-family: var(--serif); font-size: 1.9rem; line-height: 1.1; color: var(--petrol); letter-spacing: .5px; }
.cat-pricebox__row { display: flex; justify-content: space-between; padding-top: 6px; }
.cat-pricebox__row span { color: var(--muted); }
.cat-pricebox__note { margin: 8px 0 0; font-size: .84rem; color: var(--muted); }
.cat-bidstate { background: var(--tint); border-left: 3px solid var(--petrol); padding: 12px 14px; margin-bottom: 18px; }
.cat-bidstate p { margin: 0; }
.cat-bidstate__now strong { font-size: 1.15rem; }
.cat-bidstate__me { margin-top: 6px !important; font-weight: 600; }
.cat-bidstate__me--ok { color: var(--ok); }
.cat-bidstate__me--warn { color: var(--warn); }
/* Knopfleiste: eine Hauptaktion als Pille, alle Nebenaktionen gleich als kleine Konturknöpfe ohne Pfeil */
.cat-actionbar { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin: 4px 0 18px; }
.cat-actionbar__main { min-width: 220px; text-align: center; }
.cat-actionbar__more { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
.cat-actionbar__form { display: contents; }
.cat-actionbar .btn--plain { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 38px; padding: 8px 14px; font: 600 13px/1.2 var(--sans); letter-spacing: .2px; background: #fff; color: var(--dark); border: 1px solid #c3cacd; border-radius: 3px; box-shadow: none; text-decoration: none; white-space: nowrap; }
.cat-actionbar .btn--plain:hover, .cat-actionbar .btn--plain:focus-visible { background: #fff; color: var(--petrol); border-color: var(--petrol); }
.cat-actionbar a.btn--plain::after { content: none; }
.cat-actionbar .btn--plain.is-active { background: var(--tint); border-color: var(--petrol); color: var(--petrol); }
.cat-actionbar .btn--toggle .ico-star { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; }
.cat-actionbar .btn--toggle.is-on { color: var(--warn); border-color: var(--warn); }
.cat-actionbar .btn--toggle.is-on .ico-star { fill: currentColor; }
.cat-actionbar .btn--toggle.is-on:hover { color: var(--warn); background: #fff; }

/* Gesamtpreis im Nachverkauf */
.cat-pricelist { width: 100%; border-collapse: collapse; margin: 10px 0 0; font-size: .9rem; font-variant-numeric: tabular-nums; }
.cat-pricelist th, .cat-pricelist td { padding: 3px 0; font-weight: 400; color: var(--ink-2); }
.cat-pricelist th { text-align: left; color: var(--muted); }
.cat-pricelist td { text-align: right; white-space: nowrap; }
.cat-pricelist__sum th, .cat-pricelist__sum td { border-top: 1px solid var(--line-soft); padding-top: 6px; font-weight: 700; color: var(--ink); }
.lotcard__total { white-space: nowrap; }
.cat-calc { background: var(--tint); border-left: 3px solid var(--petrol); padding: 9px 12px; margin: -4px 0 14px; font-size: .92rem; }
.cat-calc strong { font-variant-numeric: tabular-nums; }

/* Teilen */
.lotpanel--share { padding: 12px 16px; }
.cat-share { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 22px; }
.cat-share a, .cat-share button { display: inline-flex; align-items: center; gap: 7px; font: 600 .9rem/1.2 var(--sans); color: var(--petrol); background: none; border: 0; padding: 6px 0; cursor: pointer; text-decoration: none; }
.cat-share a:hover, .cat-share button:hover { text-decoration: underline; }
.cat-share svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.cat-share__url { width: 100%; margin-top: 8px; font: 400 .85rem var(--sans); padding: 6px 8px; border: 1px solid var(--line); border-radius: 3px; }

/* Lange Lostitel eine Stufe kleiner */
.lottitle.lot-title--long { font-size: 1.45rem; line-height: 1.25; }
.lottitle.lot-title--xlong { font-size: 1.25rem; line-height: 1.3; }
.gallery__main--empty { min-height: 220px; display: flex; align-items: center; justify-content: center; }
.lotpanel { border: 1px solid var(--line-soft); border-radius: 3px; box-shadow: 0 10px 30px -18px rgba(0,0,0,.35); padding: 20px 22px; margin-bottom: 18px; background: #fff; }
.lotpanel h2 { font-size: 1.2rem; }
.lotpanel__buttons { display: flex; gap: 10px; flex-wrap: wrap; margin: 0; }
.lotform__ref { font-size: .85rem; color: var(--muted); border-left: 3px solid var(--river); padding-left: 10px; font-family: var(--serif); }
.cat-steps { padding-left: 1.2em; margin: 0 0 16px; }
.cat-steps li { margin-bottom: 4px; }
.cat-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.aftersale-buy { margin-bottom: 14px; }
.lotbody { display: grid; grid-template-columns: 1.25fr 1fr; gap: 50px; margin-top: 44px; border-top: 1px solid var(--line-soft); padding-top: 30px; }
.lotbody h2 { font-size: 1.2rem; }
.lotdesc { font-size: 1.02rem; }
.cat-facttable { width: 100%; border-collapse: collapse; font-size: .95rem; }
.cat-facttable th, .cat-facttable td { text-align: left; vertical-align: top; padding: 8px 0; border-bottom: 1px solid var(--line-soft); }
.cat-facttable th { font-weight: 400; color: var(--muted); width: 40%; padding-right: 14px; }
.cat-printhead { display: none; }

/* Kauf bestätigen */
.cat-buygrid { display: grid; grid-template-columns: 220px 1fr; gap: 34px; }
.cat-buygrid__img { background: var(--ivory); border: 1px solid var(--line-soft); display: flex; align-items: center; justify-content: center; min-height: 200px; }
.cat-pricetable td { padding: 9px 4px; }
.cat-pricetable__sum td { font-weight: 700; border-top: 1px solid var(--grey); }

/* Tabellen im Archiv */
.cat-tablewrap { overflow-x: auto; }
.resulttable td { vertical-align: baseline; }
.resulttable tr.is-sold td:first-child { box-shadow: inset 3px 0 0 var(--petrol); }

/* Termine */
.cat-datecard { display: grid; grid-template-columns: 170px 1fr auto; gap: 30px; align-items: start; border-top: 1px solid var(--grey); padding: 26px 0; }
.cat-datecard + .cat-datecard { border-top-color: var(--line); }
.cat-datecard__date { font-family: var(--serif); line-height: 1.1; color: var(--navy); }
.cat-datecard__date b { display: block; font-size: 3.4rem; line-height: 1; }
.cat-datecard__date span { display: block; font-size: 1.1rem; }
.cat-datecard__date em { display: block; font: normal .88rem var(--sans); color: var(--muted); margin-top: 6px; }
.cat-datecard__body h2 { margin-bottom: .5em; }
.cat-datecard__cta { display: flex; flex-direction: column; gap: 10px; align-items: flex-end; text-align: right; max-width: 220px; }
.cat-datefacts { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin: 0; align-items: start; }
.cat-datefacts__item { border: 1px solid var(--line-soft); border-radius: 3px; padding: 10px 14px; background: #fff; }
.cat-datefacts__item.is-key { border-color: var(--petrol); background: var(--tint); }
.cat-datefacts dt { font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.cat-datefacts dd { margin: 4px 0 0; font-weight: 600; }
.cat-datefacts__item--wide { grid-column: span 2; }
.cat-datefacts__line { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

@media (max-width: 900px) {
  .cat-aside { display: none; }
  .cat-filterbar__cat { display: flex; }
  .lotbody { grid-template-columns: 1fr; gap: 28px; }
  .cat-datecard { grid-template-columns: 1fr; gap: 14px; }
  .cat-datecard__cta { align-items: flex-start; text-align: left; max-width: none; }
  .lottop { flex-direction: column; align-items: flex-start; }
  .gallery__main { min-height: 280px; }
}
@media (max-width: 560px) {
  .cat-filterbar { padding: 12px; }
  .cat-filterbar__search { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .cat-filterbar__search .cat-filterbar__field--grow { grid-column: 1 / -1; }
  .cat-filterbar__field--lot input { width: 100%; }
  .cat-filterbar__opts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .cat-filterbar__cat, .cat-filterbar__check { grid-column: 1 / -1; }
  .cat-filterbar__field select, .cat-filterbar__field input { width: 100%; }
  .cat-actionbar { align-items: stretch; }
  .cat-actionbar__main { width: 100%; min-width: 0; }
  .cat-actionbar__more { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .cat-actionbar .btn--plain { width: 100%; min-height: 44px; white-space: normal; text-align: center; padding: 8px 10px; }
  .lottitle { font-size: 1.45rem; }
  .lottitle.lot-title--long { font-size: 1.18rem; }
  .lottitle.lot-title--xlong { font-size: 1.05rem; line-height: 1.35; }
  .gallery__main img { max-height: 52vh; width: auto; margin: 0 auto; }
  .gallery__main { min-height: 0; }
  .gallery__main--empty { min-height: 140px; }
  .lotinfo .eyebrow { margin-bottom: 4px; }
  .lotnav { width: 100%; justify-content: space-between; gap: 10px; }
  .lotnav__back .muted { display: none; }
  .cat-filterbar__opts .cat-filterbar__field:has(select[name=sortierung]) { grid-column: 1 / -1; }
  .lotpanel { padding: 16px; }
  .cat-buygrid { grid-template-columns: 1fr; }
  .cat-pricebox__main strong { font-size: 1.6rem; }
  .gallery__thumbs button { width: 62px; height: 62px; }
}

@media print {
  .noprint, .messages, .pager, .cat-filterbar, .lotpanel, .cat-actionbar, .lotnav, .crumbs { display: none !important; }
  body { font-size: 11pt; }
  .wrap { max-width: none; padding: 0; }
  .cat-printhead { display: flex; align-items: flex-end; justify-content: space-between; gap: 10mm; font-size: 9pt; color: #444; border-bottom: 1px solid #999; padding-bottom: 6px; margin-bottom: 14px; }
  .cat-printhead__logo { width: 40mm; height: auto; }
  @page { size: A4; margin: 12mm 14mm; }
  .lotdetail { grid-template-columns: 1.4fr 1fr; gap: 7mm; align-items: start; }
  .gallery__main { min-height: 0; background: none; border: 0; }
  .gallery__main img { max-height: 120mm; width: 100%; object-fit: contain; }
  .gallery__main--empty { display: none; }
  .lotdetail:has(.gallery__main--empty) { grid-template-columns: 1fr; }
  .lottitle, .lottitle.lot-title--long, .lottitle.lot-title--xlong { font-size: 12pt; line-height: 1.3; margin-bottom: 6px; }
  .lotinfo .eyebrow { font-size: 8pt; margin-bottom: 2px; }
  .lotstatus { margin-bottom: 6px; }
  .cat-pricebox { padding: 6px 0; margin-bottom: 6px; }
  .cat-pricebox__main strong { font-size: 16pt; }
  .cat-pricelist { font-size: 9pt; }
  .lotbody { grid-template-columns: 1.2fr 1fr; gap: 8mm; margin-top: 6mm; padding-top: 4mm; font-size: 10pt; }
  .lotbody h2 { font-size: 11pt; margin-bottom: 4px; }
  .lotdesc { font-size: 10pt; }
  .cat-facttable { font-size: 9pt; break-inside: avoid; page-break-inside: avoid; }
  .cat-facttable th, .cat-facttable td { padding: 3px 0; }
  .lotfacts, .cat-pricebox { break-inside: avoid; page-break-inside: avoid; }
  .footer, .site-footer, .contactdock, .nlband, .footnl, header, .announce { display: none !important; }
  html, body { height: auto !important; min-height: 0 !important; }
  body { padding: 0 !important; margin: 0 !important; }
  main, .page-lot .wrap { padding-bottom: 0 !important; margin-bottom: 0 !important; min-height: 0 !important; }
  .lotbody { margin-bottom: 0; }
  .page-lot main { line-height: 1.35; }
  .cat-pricebox__note, .lotfacts .small { font-size: 8pt; line-height: 1.35; }
  .cat-pricelist th, .cat-pricelist td { padding: 1px 0; }
  .lotstatus .cat-status { padding: 3px 6px; }
  .cat-printhead { margin-bottom: 8px; }
  .lotbadge { border: 1px solid #000; background: #fff !important; color: #000 !important; }
  .cat-status--sold { background: #fff; color: #000; border-color: #000; }
  a { color: inherit; text-decoration: none; }
  .cat-bidstate { border-left-color: #000; background: none; }
}

/* Katalogspalte darf im Grid schrumpfen, sonst drückt die Filterleiste die Seite breiter */
.catlayout > * { min-width: 0; }

/* Bild-Popup auf der Losseite */
.lightbox { position: fixed; inset: 0; z-index: 90; background: #0f3a3f; display: flex; flex-direction: column; opacity: 0; transition: opacity .25s var(--ease); }
.lightbox:not(.is-open) { pointer-events: none; }
.lightbox.is-open { opacity: 1; }
.lightbox__stage { flex: 1; min-height: 0; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; touch-action: none; }
.lightbox__img { max-width: calc(100vw - 130px); max-height: calc(100vh - 80px); width: auto; height: auto; object-fit: contain; cursor: zoom-in; user-select: none; -webkit-user-drag: none; transition: transform .3s var(--ease); transform-origin: center; }
.lightbox.is-zoomed .lightbox__img { cursor: zoom-out; transition: none; }
.lightbox__btn { position: absolute; border: 0; background: rgba(255,255,255,.08); color: #fff; cursor: pointer; padding: 0; display: flex; align-items: center; justify-content: center; transition: background-color .15s; }
.lightbox__btn:hover, .lightbox__btn:focus-visible { background: rgba(255,255,255,.2); outline-color: #fff; }
.lightbox__btn svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.lightbox__close { top: 14px; right: 14px; width: 48px; height: 48px; z-index: 2; }
.lightbox__prev, .lightbox__next { top: 50%; transform: translateY(-50%); width: 52px; height: 84px; }
.lightbox__prev { left: 12px; }
.lightbox__next { right: 12px; }
.lightbox__bar { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 12px 20px 16px; color: #d8dfe4; font-size: .88rem; }
.lightbox__title { font-family: var(--serif); color: #fff; font-size: 1rem; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; min-width: 0; }
.lightbox__count { white-space: nowrap; font-variant-numeric: tabular-nums; }
.lightbox__hint { white-space: nowrap; color: #a9b6c0; }
body.lightbox-open { overflow: hidden; }
@media (max-width: 760px) {
  .lightbox__img { max-width: 100vw; max-height: calc(100vh - 64px); }
  .lightbox__prev, .lightbox__next { top: auto; bottom: 0; transform: none; width: 56px; height: 56px; background: none; }
  .lightbox__prev { left: 0; }
  .lightbox__next { right: 0; }
  .lightbox__bar { min-height: 56px; padding: 8px 64px 8px 64px; flex-direction: column; align-items: center; gap: 2px; text-align: center; justify-content: center; }
  .lightbox__title { font-size: .85rem; max-width: 100%; }
  .lightbox__hint { display: none; }
}
@media print { .lightbox { display: none !important; } }

/* Termine: keine doppelte Doppellinie direkt unter dem Seitenkopf */
.pagehead + .cat-datecard { border-top: 0; padding-top: 6px; }
.cat-datefacts__item.is-key dd { color: var(--navy); }

/* Ergebnislisten auf dem Handy als Blöcke statt Tabelle */
@media (max-width: 560px) {
  .resulttable, .resulttable tbody, .resulttable tr, .resulttable td { display: block; }
  .resulttable thead { display: none; }
  .resulttable tr { padding: 10px 0 10px 12px; border-bottom: 1px solid var(--line-soft); position: relative; }
  .resulttable tr.is-sold { box-shadow: inset 3px 0 0 var(--petrol); }
  .resulttable tr.is-sold td:first-child { box-shadow: none; }
  .resulttable td { border: 0; padding: 0; text-align: left !important; white-space: normal !important; }
  .resulttable td[data-label] { display: inline-block; margin-right: 18px; margin-top: 4px; font-size: .9rem; }
  .resulttable td[data-label]::before { content: attr(data-label) " "; color: var(--muted); font-family: var(--sans); font-weight: 400; }
  .resulttable td.num:first-child { font-family: var(--serif); font-weight: 700; color: var(--navy); }
  .resulttable td.num:first-child::before { content: "Los "; }
  .resulttable td.cat-auctioncell::before { content: ""; }
  .cat-datefacts__item--wide { grid-column: auto; }
  .cat-datefacts__line { white-space: normal; }
}
.cat-datefacts__item:not(.cat-datefacts__item--wide) dd { white-space: nowrap; }

/* Archiv: Etikett nicht eng umbrechen, am Handy Karten statt Tabelle */
.archivetable .cat-status { white-space: nowrap; }
.cat-icolink { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; text-decoration: none; }
.cat-icolink:hover { text-decoration: underline; }
.cat-icolink svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.cat-pdflink { margin: 12px 0 0; text-align: center; }
.pagehead--left .cat-pdflink { text-align: left; }
@media (max-width: 560px) {
  .archivetable, .archivetable tbody, .archivetable tr, .archivetable td { display: block; }
  .archivetable thead { display: none; }
  .archivetable tr { padding: 12px 0; border-bottom: 1px solid var(--line-soft); }
  .archivetable td { border: 0; padding: 0; text-align: left !important; white-space: normal !important; }
  .archivetable td.archivetable__title { font-family: var(--serif); font-size: 1.05rem; margin-bottom: 4px; }
  .archivetable td.archivetable__title .cat-status { display: inline-block; margin: 6px 0 0; }
  .archivetable td[data-label] { display: inline-block; margin-right: 16px; font: 400 .9rem/1.5 var(--sans); }
  .archivetable td[data-label]::before { content: attr(data-label) " "; color: var(--muted); }
  .archivetable td.archivetable__links { margin-top: 6px; font-size: .95rem; }
}

/* Ergebnisliste: Spitzenergebnisse */
.cat-top { margin: 0 0 30px; }
.cat-top h2 { font-size: 1.3rem; }
.cat-top__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.cat-top__list a { display: flex; flex-direction: column; gap: 3px; height: 100%; text-decoration: none; color: var(--ink); background: #fff; box-shadow: var(--shadow-card); border-radius: 3px; padding: 0 0 10px; overflow: hidden; }
.cat-top__list a:hover .cat-top__title { text-decoration: underline; }
.cat-top__img { aspect-ratio: 1 / 1; background: var(--ivory); display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
.cat-top__img img { width: 100%; height: 100%; object-fit: contain; }
.cat-top__no, .cat-top__title, .cat-top__price { padding: 0 10px; }
.cat-top__no { font: 700 .72rem/1.2 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.cat-top__title { font-family: var(--serif); font-size: .92rem; line-height: 1.3; flex: 1; }
.cat-top__price { font-size: .88rem; color: var(--muted); }
.cat-top__price strong { color: var(--petrol); }
@media (max-width: 1000px) { .cat-top__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .cat-top__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }

/* Termine */
.datelist2 li { align-items: start; }
.datelist2__day { padding-top: 4px; }
.cat-viewing { margin: 8px 0 0; font-size: .92rem; color: var(--ink-2); }
.cat-viewing strong { display: block; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.cat-viewing span { display: block; }
.cat-datelinks { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 10px 0 0; font-size: .92rem; }
@media (max-width: 760px) {
  .datelist2__day { text-align: left; padding-top: 2px; }
}

/* Geplante Auktion: Katalog folgt */
.cat-upcoming { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin: 0 0 26px; }
.cat-upcoming__item { background: #fff; border: 1px solid var(--line-soft); border-radius: 3px; padding: 14px 16px; }
.cat-upcoming__item.is-key { border-color: var(--petrol); background: var(--tint); }
.cat-upcoming dt { font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.cat-upcoming dd { margin: 6px 0 0; font-weight: 600; line-height: 1.5; }
.cat-upcoming__nl p { margin: 0 0 12px; }
.cat-upcoming__nl .pillpair { margin: 0; justify-content: flex-start; }

/* Kauf bestätigen: Rechtliches direkt vor dem Kaufknopf */
.cat-legal { margin: 0 0 12px; color: var(--ink-2); }

/* Anmeldung zum Telefonbieten unter dem Vorgebotsformular */
.cat-phonebid { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line, #dde3e5); }
.cat-phonebid h3 { margin: 0 0 6px; font-size: 1.05rem; }
.cat-phonebid p { margin: 0 0 12px; }

/* Archivliste: Bild je Auktion */
.archivetable__imgcol { width: 132px; }
.archivetable td.archivetable__img { width: 132px; padding-right: 12px; }
.archivetable__img img, .archivetable__noimg { display: block; width: 120px; height: 90px; object-fit: cover; border-radius: 3px; background: var(--ivory, #f5f2ec); }
@media (max-width: 560px) {
  .archivetable td.archivetable__img { float: left; width: auto; margin: 0 14px 6px 0; padding: 0; }
  .archivetable__img img, .archivetable__noimg { width: 96px; height: 72px; }
  .archivetable tr::after { content: ""; display: block; clear: both; }
}

/* Archiv als Karten: Bild seitlich, ruhige Typografie (Wunsch des Hauses 17.10.2026: eleganter, ohne Verkaufszahlen) */
.archcards { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 40px; }
.archcard { display: grid; grid-template-columns: minmax(0, 46%) minmax(0, 1fr); gap: 22px; align-items: center; padding-top: 22px; border-top: 1px solid var(--line); }
.archcard__img { display: block; aspect-ratio: 4 / 3; background: var(--ivory); overflow: hidden; }
.archcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.archcard:hover .archcard__img img { transform: scale(1.03); }
.archcard__eyebrow { font: 700 .72rem/1.3 var(--serif); letter-spacing: 3px; text-transform: uppercase; color: var(--petrol); margin: 0 0 6px; }
.archcard__title { font-size: 1.7rem; line-height: 1.15; margin: 0; }
.archcard__title a { color: var(--navy); text-decoration: none; }
.archcard__title a:hover { color: var(--petrol); }
.archcard__date { font: 400 1.5rem/1.2 var(--serif); letter-spacing: .5px; color: var(--muted); margin: 4px 0 0; }
.archcard__sub { font-style: italic; color: var(--ink-2); margin: 8px 0 0; }
.archcard__meta { color: var(--muted); margin: 10px 0 0; font-size: .98rem; }
.archcard__links { display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 14px 0 0; }
@media (max-width: 960px) { .archcards { grid-template-columns: 1fr; gap: 26px; } }
@media (max-width: 560px) {
  .archcard { grid-template-columns: 1fr; gap: 14px; }
  .archcard__title { font-size: 1.45rem; }
}
