/* ───────────────────────────────────────────────────────────────────────────
 * Entity engine — additions on top of kunstmesse.css (the shared `.kmf*` base).
 * Loaded only on entity singles (museum, …) alongside kunstmesse.css. Holds (a) the
 * MH-wrapper neutralisation for the entity body classes, and (b) the modules that the
 * fair pages do not use: collection highlights, exhibition cards, the artsintown deep
 * link, and the archive quote. Design tokens (--ink/--line/--accent/…) come from the
 * `.kmf` block in kunstmesse.css.
 * ─────────────────────────────────────────────────────────────────────────── */

/* Wrapper neutralisation for entity body classes (mirror of kunstmesse's, scoped to the
 * entity post types so MH Magazine's ~66% sidebar column does not squeeze the page). */
body.single-museum{background:#F6F7F8}
body.single-museum .mh-wrapper.kmf-single{background:transparent!important;box-shadow:none!important;border:none!important}
body.single-museum .kmf-single__content{background:transparent!important;box-shadow:none!important;border:none!important;padding:0!important;margin:0!important;width:100%!important;max-width:none!important;float:none!important}

/* DIE SAMMLUNG — star works, editorial cards (artist eyebrow + serif title + line) */
.kmf-coll{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:30px 0}
.kmf-coll__i{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;transition:transform .18s ease,box-shadow .2s ease,border-color .2s ease}
.kmf-coll__i:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(20,24,30,.09);border-color:#CDD1D6}
.kmf-coll__a{display:block;font-family:var(--grotesk);font-weight:700;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.kmf-coll__t{font-family:var(--serif);font-style:italic;font-size:1.18rem;line-height:1.2;color:var(--ink);margin:0 0 10px}
.kmf-coll p{margin:0!important;font-size:.92rem!important;color:var(--muted)!important;line-height:1.55!important}

/* AKTUELL SEHENSWERT — exhibition cards: programme-style head (type · runtime service line),
 * optional image, editorial "Empfehlung der Redaktion". No accent stripe, no date in a heading. */
.kmf-exh{display:flex;flex-direction:column;gap:16px;margin:28px 0 20px}
.kmf-exh__i{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:transform .18s ease,box-shadow .2s ease,border-color .2s ease}
.kmf-exh__i:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(20,24,30,.09);border-color:#CDD1D6}
.kmf-exh__img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.kmf-exh__body{padding:20px 24px 22px}
.kmf-exh__head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding-bottom:11px;margin-bottom:13px;border-bottom:1px solid var(--line);font-family:var(--grotesk);font-size:.72rem;letter-spacing:.07em;text-transform:uppercase}
.kmf-exh__typ{font-weight:700;color:var(--ink)}
.kmf-exh__run{font-weight:600;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.kmf-exh__t{font-family:var(--grotesk);font-weight:700;font-size:1.2rem;line-height:1.22;letter-spacing:-.015em;margin:0 0 9px;color:var(--ink)}
.kmf-exh__t a{color:var(--ink)}
.kmf-exh__t a:hover{color:var(--accent)!important}
.kmf-exh__desc{margin:0!important;font-size:.95rem!important;color:#2A2E34!important;line-height:1.6!important}
.kmf-exh__take{margin-top:15px;padding-top:14px;border-top:1px dotted var(--line)}
.kmf-exh__take-l{display:block;font-family:var(--grotesk);font-weight:700;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:5px}
.kmf-exh__take p{margin:0!important;font-family:var(--serif)!important;font-style:italic;font-size:1.05rem!important;line-height:1.5!important;color:var(--ink)!important}

/* artsintown deep link (rendered only when the venue URL is set) */
.kmf-deeplink{display:inline-flex;align-items:center;gap:9px;margin-top:4px;font-family:var(--grotesk);font-weight:600;font-size:.92rem;color:var(--accent)!important;text-decoration:none}
.kmf-deeplink:hover{text-decoration:underline!important}
.kmf-deeplink .ar{font-size:.85rem}

/* Besuch planen — black ticket/admission CTA, sits in the text column under the prose */
.kmf-visit__cta{margin-top:18px}

/* Long Besuch-planen copy: stack full-width (text → button → wide map) instead of text|map
 * columns, so a tall text block no longer leaves the small square map stranded with whitespace. */
.kmf-visit--wide{grid-template-columns:1fr}
.kmf-visit--wide .kmf-visit__map{aspect-ratio:16/9;max-width:none}

/* Häufige Fragen — accessible <details> accordion (FAQPage schema mirrors this) */
.kmf-faq{margin-top:14px}
.kmf-faq__i{border-top:1px solid var(--line)}
.kmf-faq__i:last-child{border-bottom:1px solid var(--line)}
.kmf-faq__q{cursor:pointer;list-style:none;padding:15px 0;font-family:var(--grotesk);font-weight:700;font-size:1.02rem;line-height:1.3;color:var(--ink);display:flex;justify-content:space-between;gap:14px}
.kmf-faq__q::-webkit-details-marker{display:none}
.kmf-faq__q::after{content:"+";color:var(--muted);font-weight:400;font-size:1.2rem;line-height:1}
.kmf-faq__i[open] .kmf-faq__q::after{content:"–"}
.kmf-faq__a{padding:0 0 15px}
.kmf-faq__a p{margin:0!important;font-size:.95rem!important;color:#2A2E34!important;line-height:1.6!important}

/* ── Verzeichnis (Typ-Übersicht) & Entdecken-Hub ─────────────────────────── */
.kmf-dir__back{display:inline-block;font-family:var(--grotesk);font-weight:600;font-size:.85rem;color:var(--muted);text-decoration:none;margin-bottom:8px}
.kmf-dir__back:hover{color:var(--ink)}
.kmf-dir__toggle{display:none}
.kmf-dir__controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0 8px}
.kmf-dir__search{flex:1 1 280px;max-width:520px;padding:12px 15px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:.98rem;background:#fff}
.kmf-dir__combo{position:relative}
.kmf-dir__combobtn{display:inline-flex;align-items:center;gap:8px;padding:12px 15px;border:1px solid var(--line);border-radius:10px;background:#fff;font-family:var(--grotesk);font-weight:600;font-size:.92rem;color:var(--ink);cursor:pointer;white-space:nowrap}
.kmf-dir__combobtn:hover{border-color:#CDD1D6}
.kmf-dir__combocaret{color:var(--muted);font-size:.8rem}
.kmf-dir__combomenu{position:absolute;z-index:20;top:calc(100% + 6px);left:0;min-width:240px;max-width:300px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(20,24,30,.14);padding:10px}
.kmf-dir__comboinput{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.9rem;margin-bottom:8px;background:#fff}
.kmf-dir__combolist{list-style:none;margin:0;padding:0;max-height:280px;overflow:auto}
.kmf-dir__comboregion{font-family:var(--grotesk);font-weight:700;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 8px 4px}
.kmf-dir__comboopt{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 10px;border-radius:7px;font:inherit;font-size:.92rem;color:var(--ink);cursor:pointer}
.kmf-dir__comboopt:hover{background:#F1F2F4}
.kmf-dir__comboopt.is-active{background:var(--ink);color:#fff}
/* Empfehlung der Redaktion (Picks) + Listenkopf + Schwerpunkt-Chips */
.kmf-dir__picks{margin:22px 0 8px}
.kmf-dir__pickshead{font-family:var(--grotesk);font-weight:800;font-size:1.15rem;letter-spacing:.01em;color:var(--ink);margin:0 0 14px}
.kmf-dir__picksgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.kmf-dir__pick{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;transition:transform .18s ease,box-shadow .2s ease,border-color .2s ease}
.kmf-dir__pick:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(20,24,30,.09);border-color:#CDD1D6}
.kmf-dir__pickimg{display:block;width:100%;aspect-ratio:16/10;background:#e8e8e4 center/cover no-repeat}
.kmf-dir__pickbody{padding:16px 18px 19px;display:flex;flex-direction:column;gap:5px}
.kmf-dir__pickname{font-family:var(--grotesk);font-weight:700;font-size:1.1rem;line-height:1.2;color:var(--ink)}
.kmf-dir__pickcity{font-family:var(--grotesk);font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.kmf-dir__pickw{font-family:var(--serif);font-style:italic;font-size:1rem;line-height:1.5;color:var(--ink);margin-top:4px}
.kmf-dir__listhead{margin-top:34px;border-top:1px solid var(--line);padding-top:18px}
.kmf-dir__alltitle{font-family:var(--grotesk);font-weight:800;font-size:1.15rem;color:var(--ink);margin:0 0 6px}
.kmf-dir__chips--sp{margin-top:2px}
@media(max-width:900px){.kmf-dir__picksgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.kmf-dir__picksgrid{grid-template-columns:1fr}}

/* Städteseite (/kunst/<slug>/) */
.kmf-city__intro{margin:6px 0 4px}
.kmf-city__intro p{font-family:var(--serif);font-size:1.18rem;line-height:1.55;color:var(--ink);margin:0 0 14px}
.kmf-city__houses{display:flex;flex-direction:column;gap:16px;margin-top:14px}
.kmf-city__house{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 24px}
.kmf-city__hname{font-family:var(--grotesk);font-weight:700;font-size:1.18rem;line-height:1.22;margin:0 0 8px;color:var(--ink)}
.kmf-city__hname a{color:var(--ink)}
.kmf-city__hname a:hover{color:var(--accent)!important}
.kmf-city__house p{margin:0!important;font-size:.96rem!important;color:#2A2E34!important;line-height:1.62!important}
.kmf-city__tip{background:#F2F5F8;border:1px solid var(--line);border-radius:14px;padding:22px 26px;margin-top:24px}
.kmf-city__tiph{display:block;font-family:var(--grotesk);font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.kmf-city__tip p{margin:0!important;font-size:1.02rem!important;line-height:1.6!important;color:var(--ink)!important}
@media(max-width:680px){
  .kmf-dir__toggle{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;font-family:var(--grotesk);font-weight:700;font-size:.9rem;color:var(--ink);cursor:pointer;margin:12px 0 0}
  .kmf-dir__controls{display:none;flex-direction:column;align-items:stretch;margin-top:10px}
  .kmf-dir__controls.is-open{display:flex}
  .kmf-dir__combo{width:100%}
  .kmf-dir__combobtn{width:100%;justify-content:space-between}
  .kmf-dir__combomenu{position:static;box-shadow:none;min-width:0;max-width:none;margin-top:6px;padding:8px 0}
}
.kmf-dir__chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.kmf-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font-family:var(--grotesk);font-weight:600;font-size:.82rem;color:var(--ink);cursor:pointer}
.kmf-chip:hover{border-color:#CDD1D6}
.kmf-chip.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.kmf-dir__land{font-family:var(--grotesk);font-weight:800;font-size:1.1rem;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);margin:30px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.kmf-dir__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.kmf-dir__card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;transition:transform .18s ease,box-shadow .2s ease,border-color .2s ease}
.kmf-dir__card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(20,24,30,.09);border-color:#CDD1D6}
.kmf-dir__img{display:block;width:100%;aspect-ratio:16/10;background:#e8e8e4 center/cover no-repeat}
/* Shared photo-less placeholder tile: centred name, colour per post type (km_entity_card_placeholder) */
.kmf-dir__img--ph{position:relative;display:flex;align-items:center;justify-content:center;background:#EDEFF2}
.kmf-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px 16px;width:100%;text-align:center}
.kmf-ph__mark{position:absolute;top:11px;left:13px;font-family:var(--grotesk);font-weight:800;font-size:.72rem;color:var(--ink);opacity:.5}
.kmf-ph__mark .c{color:var(--accent);opacity:1}
.kmf-ph__name{font-family:var(--grotesk);font-weight:800;font-size:1.16rem;line-height:1.18;color:var(--ink)}
.kmf-ph--museum{background:#D6E0EB}
.kmf-ph--galerie{background:#E7E2D9}
.kmf-ph--kunstmesse{background:#F2DAD6}
.kmf-dir__body{padding:15px 17px 18px;display:flex;flex-direction:column;gap:4px}
.kmf-dir__name{font-family:var(--grotesk);font-weight:700;font-size:1.05rem;line-height:1.22;color:var(--ink)}
.kmf-dir__city{font-family:var(--grotesk);font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
/* Vorschautext global vollständig (nicht auf 2 Zeilen abgeschnitten) */
.kmf-dir__sf{font-size:.9rem;color:#2A2E34;line-height:1.5;margin-top:4px}
.kmf-dir__empty{color:var(--muted);margin:20px 0}
.kmf-hub__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:26px 0}
.kmf-hub__card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;text-decoration:none;transition:transform .18s ease,box-shadow .2s ease,border-color .2s ease}
.kmf-hub__card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(20,24,30,.09);border-color:#CDD1D6}
.kmf-hub__card--soon{opacity:.62}
.kmf-hub__t{font-family:var(--grotesk);font-weight:800;font-size:1.3rem;color:var(--ink);display:flex;align-items:baseline;gap:10px}
.kmf-hub__n{font-size:.85rem;font-weight:700;color:var(--muted)}
.kmf-hub__d{font-size:.95rem;color:#2A2E34;line-height:1.55}
.kmf-hub__go{font-family:var(--grotesk);font-weight:700;font-size:.85rem;color:var(--accent);margin-top:4px}
.kmf-hub__card--soon .kmf-hub__go{color:var(--muted)}
@media(max-width:900px){.kmf-dir__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.kmf-dir__grid,.kmf-hub__grid{grid-template-columns:1fr}}

/* AUS UNSEREM ARCHIV — verifiable kunst:art print quote (anti-doorway) */
.kmf-archive{background:#fff;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px;padding:26px 30px;margin:24px 0 0}
.kmf-archive p{font-family:var(--serif)!important;font-style:italic;font-size:1.2rem!important;line-height:1.42!important;color:var(--ink)!important;margin:0 0 12px!important}
.kmf-archive cite{font-family:var(--grotesk);font-style:normal;font-weight:600;font-size:.78rem;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}

@media (max-width:680px){
  .kmf-coll{grid-template-columns:1fr;gap:12px}
  .kmf-exh__head{flex-direction:column;gap:3px;align-items:flex-start}
  .kmf-exh__body{padding:18px 18px 20px}
}
