/* IKS Website 2.0 – Seiten Filme und Editionen & Kataloge (zusätzlich zu iks2.css) – Stand 01.11.2026 */

.page-head { padding: 26px var(--pad) 0; display: grid; gap: 14px var(--gap); }
.page-head h1 { font-size: 40px; line-height: 1.02; }
.page-head .lead { font-size: 18px; line-height: 1.45; }
.page-head .actions { margin-top: 14px; }

.count { font-size: 17px; color: #555; margin-left: 6px; }

/* ---------- Filme: Neu ---------- */
.feature-list { display: grid; gap: 26px var(--gap); }
.feature { display: grid; grid-template-columns: 38% 1fr; gap: 18px; align-items: start; }
.feature img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; margin: 0; background: var(--grey); }
.badge { display: inline-block; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; background: #111; color: #fff; padding: 3px 7px 2px; margin-bottom: 8px; }
.feature h3 { font-size: 26px; line-height: 1.08; }
.feature .sub { font-size: 18px; margin-top: 4px; }
.feature p.text { margin-top: 10px; line-height: 1.45; }
.feature .actions { margin-top: 14px; }

/* ---------- Filme: Raster ---------- */
.film-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px 18px; list-style: none; margin: 0; padding: 0; }
.film-card button {
	appearance: none; background: none; border: 0; padding: 0; margin: 0; text-align: left; cursor: pointer;
	font: inherit; color: inherit; width: 100%;
}
.film-card img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; margin: 0 0 10px; background: var(--grey); transition: opacity .2s; }
.film-card button:hover img { opacity: .85; }
.film-card button:hover .card-title { text-decoration: underline; }
.film-card .card-title { font-size: 18px; line-height: 1.15; }
.film-card .card-sub { margin-top: 2px; line-height: 1.25; }
.film-card .tags { margin-top: 6px; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: #555; }

/* ---------- Filme: Archiv als Liste ---------- */
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.chips button {
	appearance: none; font: 16px/1 "Times New Roman", Times, serif; color: #111; background: #fff;
	border: 1px solid #111; padding: 9px 14px; min-height: 38px; cursor: pointer;
}
.chips button[aria-pressed="true"], .chips button:hover { background: #111; color: #fff; }
.dvd-list { list-style: none; margin: 0; padding: 0; columns: 1; column-gap: var(--gap); }
.dvd-list li { break-inside: avoid; border-top: 1px solid #d6d6d2; padding: 9px 0 10px; display: flex; justify-content: space-between; gap: 14px; }
.dvd-list li[hidden] { display: none; }
.dvd-list strong { font-weight: normal; font-size: 18px; }
.dvd-list .s { display: block; color: #444; line-height: 1.3; }
.dvd-list .k { font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: #777; white-space: nowrap; padding-top: 4px; }

/* ---------- Dialog Filmdetails ---------- */
dialog.film-dialog { border: 0; padding: 0; max-width: 860px; width: calc(100% - 32px); background: #fff; color: #111; }
dialog.film-dialog::backdrop { background: rgba(0,0,0,.6); }
.fd { display: grid; grid-template-columns: 1fr; }
.fd img { width: 100%; max-height: 60vh; object-fit: contain; background: var(--grey); margin: 0; }
.fd .body { padding: 22px 22px 26px; }
.fd h3 { font-size: 28px; line-height: 1.08; }
.fd .sub { font-size: 19px; margin-top: 4px; }
.fd p.text { margin-top: 14px; line-height: 1.5; font-size: 17px; }
.fd .actions { margin-top: 18px; }
.fd-close { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border: 0; background: #111; color: #fff; font-size: 24px; cursor: pointer; }
dialog.film-dialog { position: fixed; }

/* ---------- Editionen ---------- */
.book-grid { display: grid; grid-template-columns: 1fr; gap: 30px var(--gap); list-style: none; margin: 0; padding: 0; }
.book .cover { background: var(--grey); aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; padding: 8%; }
.book .cover img { max-width: 100%; max-height: 100%; width: auto; height: auto; margin: 0; box-shadow: 0 6px 18px rgba(0,0,0,.18); }
.book h3 { font-size: 22px; line-height: 1.1; margin-top: 14px; }
.book .sub { margin-top: 3px; font-size: 17px; line-height: 1.3; }
.book .facts { margin-top: 10px; font-size: 15px; line-height: 1.45; color: #444; }
.book .price { margin-top: 8px; font-size: 17px; }
.book .actions { margin-top: 12px; }

.print-grid { display: grid; grid-template-columns: 1fr; gap: 30px var(--gap); list-style: none; margin: 0; padding: 0; }
.print img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; margin: 0 0 12px; background: var(--grey); }
.print h3 { font-size: 22px; line-height: 1.1; }
.print .sub { font-size: 17px; margin-top: 2px; font-style: italic; }
.print .facts { margin-top: 6px; color: #444; }
.print .actions { margin-top: 10px; }

.btn-small { min-height: 40px; padding: 0 16px; font-size: 16px; }
.ext::after { content: " ↗"; }

.note-band { margin: 40px var(--pad) 0; padding: 24px 22px; border: 1px solid #111; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 30px; }
.note-band h2 { font-size: 26px; line-height: 1.12; }
.note-band p { margin-top: 6px; font-size: 17px; }

@media (min-width: 700px) {
	.page-head { grid-template-columns: var(--col) var(--col); align-items: end; padding-top: 32px; }
	.page-head h1 { font-size: 48px; }
	.feature-list { grid-template-columns: var(--col) var(--col); }
	.film-grid { grid-template-columns: repeat(3, 1fr); }
	.dvd-list { columns: 2; }
	.book-grid { grid-template-columns: repeat(2, 1fr); }
	.print-grid { grid-template-columns: var(--col) var(--col); }
	.fd { grid-template-columns: 300px 1fr; }
	.fd { align-items: start; }
	.fd img { display: block; height: auto; max-height: 80vh; object-fit: contain; background: none; }   /* Cover immer ganz, im eigenen Format */
	.fd .body { padding: 30px 30px 30px; }
}
@media (min-width: 900px) {
	.page-head h1 { font-size: 56px; }
	.film-grid { grid-template-columns: repeat(4, 1fr); }
	.book-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Editionen: Details */
.print > button.open-ed { appearance: none; border: 0; padding: 0; margin: 0 0 12px; background: none; cursor: zoom-in; position: relative; display: block; width: 100%; }
.print > button.open-ed img { margin: 0; transition: opacity .2s; }
.print > button.open-ed:hover img { opacity: .88; }
.print .zoom { position: absolute; right: 10px; bottom: 10px; background: rgba(0,0,0,.6); color: #fff; font: 14px/1 "Times New Roman", Times, serif; padding: 7px 10px; }
.linkbtn { background: none; border: 0; cursor: pointer; font: inherit; color: #111; text-decoration: underline; text-underline-offset: 2px; padding: 0 4px; }
.print .actions { display: flex; align-items: center; gap: 6px 18px; flex-wrap: wrap; }
.ed-dialog { max-width: 1000px; }
.edd { display: grid; grid-template-columns: 1fr; }
.edd figure { margin: 0; background: var(--grey); }
.edd figure img { width: 100%; max-height: 55vh; object-fit: contain; margin: 0; display: block; }
.edd figcaption { font-size: 13px; color: #555; padding: 6px 10px; }
.edd .body { padding: 22px 22px 26px; }
.edd h3 { font-size: 28px; line-height: 1.08; }
.edd .sub { font-size: 19px; margin-top: 4px; }
.edd p.text { margin-top: 14px; line-height: 1.5; font-size: 16px; }
.factlist { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; margin: 16px 0 0; padding-top: 14px; border-top: 1px solid #000; font-size: 16px; }
.factlist dt { color: #555; }
.factlist dd { margin: 0; }
.edd .actions { margin-top: 18px; }
.order-note { margin-top: 10px; font-size: 14px; color: #555; line-height: 1.4; }
@media (min-width: 700px) {
	.edd { grid-template-columns: 1.15fr 1fr; align-items: stretch; }
	.edd figure { display: flex; flex-direction: column; justify-content: center; }
	.edd figure img { max-height: 80vh; }
	.edd .body { padding: 30px; max-height: 85vh; overflow-y: auto; }
}
dialog.film-dialog { max-height: calc(100vh - 32px); overflow: auto; }
.fd-close { z-index: 2; }
@media (max-width: 699px) { .fd-close { position: fixed; top: 22px; right: 22px; } }

/* Filme: Archiv, Detailfenster */
.dvd-list .linkbtn { display: block; margin-top: 3px; padding: 0; font-size: 15px; }
.fd .factlist { font-size: 15px; }
.fd .actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; }

/* Kopf Filme: gelber Kasten „Filme in Lizenz“ */
.license-box { margin-top: 22px; background: #f9c400; padding: 20px 22px 22px; }
.license-box h2 { font-size: 24px; line-height: 1.1; }
.license-box p { margin-top: 6px; font-size: 17px; line-height: 1.45; }

/* Kopf Filme: Überschrift, darunter zwei Blöcke nebeneinander (Desktop) */
.page-head--films2 { grid-template-columns: 1fr !important; align-items: stretch; }
.page-head--films2 h1 { margin-bottom: 4px; }
.page-head--films2 .ph-block, .page-head--films2 .license-box { display: flex; flex-direction: column; }
.page-head--films2 .actions { margin-top: auto; padding-top: 16px; }
.page-head--films2 .license-box { margin-top: 8px; }
.btn-wide { box-sizing: border-box; min-width: 240px; min-height: 48px; font-size: 18px; }
@media (min-width: 700px) {
	.page-head--films2 { grid-template-columns: var(--col) var(--col) !important; }
	.page-head--films2 h1 { grid-column: 1 / -1; }
	.page-head--films2 .license-box { margin-top: 0; }
	.page-head--films2 .ph-block { padding: 20px 0 22px; }
}
@media (max-width: 699px) {
	.page-head--films2 .btn-wide { width: 100%; }
	.page-head--films2 .actions { flex-direction: column; align-items: stretch; gap: 4px; }
	.page-head--films2 .actions .text-link { justify-content: center; }
}
@media (max-width: 699px) {
	.page-head--films2 .btn-wide { width: 280px; max-width: 100%; }
	.page-head--films2 .actions { align-items: flex-start; }
	.page-head--films2 .actions .text-link { justify-content: flex-start; }
}

/* Detailfenster: längere Texte */
.fd p.text + p.text, .edd p.text + p.text { margin-top: 10px; }
@media (min-width: 700px) { .fd .body { max-height: 85vh; overflow-y: auto; } }

/* ======================= Institut (seit 11/2026) ======================= */
.inst-head { padding: 26px var(--pad) 0; display: grid; gap: 14px var(--gap); }
.inst-head h1 { font-size: 40px; line-height: 1.02; }
.inst-head .lead { font-size: 21px; line-height: 1.4; }
.inst-intro { font-size: 17px; line-height: 1.45; }
.inst-head .actions { margin-top: 16px; }
.inst-facts { margin: 30px var(--pad) 0; display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--line); }
.inst-facts div { padding: 14px 0 16px; border-bottom: 1px solid #ddd; }
.inst-facts strong { display: block; font-size: 40px; line-height: 1; font-weight: normal; }
.inst-facts span { display: block; font-size: 16px; line-height: 1.35; margin-top: 6px; }
.inst-hero { margin: 30px var(--pad) 0; }
.inst-hero img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; margin: 0; }
.inst-hero figcaption { font-size: 14px; color: #555; margin-top: 6px; }
.inst-grid { display: grid; grid-template-columns: 1fr; gap: 0 var(--gap); }
.inst-card { border-top: 1px solid #ccc; padding: 14px 0 22px; }
.inst-card h3 { font-size: 23px; line-height: 1.12; }
.inst-card p { font-size: 17px; line-height: 1.45; margin-top: 8px; }
.inst-card a { font-size: 17px; display: inline-block; margin-top: 8px; }
.inst-bio { display: grid; grid-template-columns: 1fr; gap: 18px var(--gap); align-items: start; }
.inst-bio img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; margin: 0; }
.inst-bio h3 { font-size: 26px; line-height: 1.1; }
.inst-bio .role { font-size: 17px; margin-top: 4px; color: #444; }
.inst-bio p.text { font-size: 17px; line-height: 1.5; margin-top: 12px; }
.inst-bio .actions { margin-top: 18px; }
.awards { list-style: none; margin: 0; padding: 0; }
.awards li { display: grid; grid-template-columns: 70px 1fr; gap: 0 14px; border-top: 1px solid #ccc; padding: 12px 0 14px; font-size: 17px; line-height: 1.4; }
.awards li:last-child { border-bottom: 1px solid #ccc; }
.awards .y { font-size: 22px; line-height: 1.1; }
.inst-band { margin: 40px var(--pad) 0; padding: 24px 22px; background: #f9c400; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 30px; }
.inst-band h2 { font-size: 26px; line-height: 1.12; }
.inst-band p { margin-top: 6px; font-size: 17px; line-height: 1.45; max-width: 30em; }
.inst-band .actions { display: flex; flex-direction: column; gap: 8px; }
.inst-band .btn { min-width: 240px; min-height: 48px; box-sizing: border-box; justify-content: center; font-size: 18px; }
.btn-outline { background: transparent !important; color: #111 !important; border: 1px solid #111 !important; }
@media (min-width: 700px) {
	.inst-head { grid-template-columns: var(--col) var(--col); align-items: end; padding-top: 32px; }
	.inst-head h1 { font-size: 48px; grid-column: 1 / -1; }
	.inst-facts { grid-template-columns: repeat(3, 1fr); gap: 0 var(--gap); }
	.inst-facts div { border-bottom: 0; }
	.inst-grid { grid-template-columns: var(--col) var(--col); }
	.inst-bio { grid-template-columns: var(--col) var(--col); }
}
@media (min-width: 1050px) { .inst-head h1 { font-size: 56px; } }

/* ======================= News (seit 11/2026) ======================= */
.nfeat { margin: 30px var(--pad) 0; padding-top: 20px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr; gap: 18px var(--gap); align-items: start; scroll-margin-top: 130px; }
.nimg { margin: 0; } .nimg img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; margin: 0; background: var(--grey); }
.nimg figcaption, #news-dialog .cap { font-size: 13px; color: #666; margin-top: 6px; line-height: 1.35; }
.nbody h2 { font-size: 30px; line-height: 1.08; margin-top: 10px; }
.ngrid h3, #news-dialog h3 { font-size: 23px; line-height: 1.12; margin-top: 12px; } #news-dialog h3 { margin-top: 0; }
.nbody .sub, .ngrid .sub, #news-dialog .sub { font-size: 18px; line-height: 1.3; margin-top: 4px; }
.nmeta { font-size: 15px; color: #555; margin-top: 6px; }
.ntext p, .nteaser p { font-size: 17px; line-height: 1.5; margin-top: 12px; }
.nteaser p { margin-top: 8px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ntext blockquote { margin: 16px 0 0; padding-left: 14px; border-left: 3px solid #f9c400; font-size: 20px; line-height: 1.35; font-style: italic; }
.ntext ul, .ntext ol { font-size: 17px; line-height: 1.5; margin: 12px 0 0; padding-left: 1.2em; }
.nextra { width: 100%; height: auto; margin-top: 14px; display: block; }
.nfilm { margin-top: 12px; } .nfilm iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }
.nbtns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; } .nact .nbtns { margin-top: 0; }
.nact { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 12px; }
.ngrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 34px var(--gap); }
.ngrid li { scroll-margin-top: 130px; }
.nimgbtn { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; }
.nimgbtn img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; margin: 0; background: var(--grey); }
.nmorewrap { margin-top: 30px; text-align: center; }
.nfeat .badge { display: inline-block; }
#news-dialog .fd { grid-template-columns: 1fr !important; }
#news-dialog .fd img { width: 100%; height: auto !important; max-height: 52vh; aspect-ratio: auto !important; object-fit: cover; display: block; }
#news-dialog .cap { padding: 0 22px; } #news-dialog .ntext img { max-height: none; object-fit: contain; }
#news-dialog .body { max-height: none !important; overflow: visible !important; }
@media (min-width: 700px) { .nfeat, .ngrid { grid-template-columns: var(--col) var(--col); } #news-dialog .cap { padding: 0 30px; } }

/* ======================= Ausstellungen (seit 11/2026) ======================= */
.xgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 30px var(--gap); }
.xcard h3 { font-size: 21px; line-height: 1.15; margin-top: 10px; } .xcard h3 a { text-decoration: none; color: inherit; }
.xcard .sub { font-size: 16px; line-height: 1.3; margin-top: 3px; } .xvenue { font-size: 15px; color: #555; margin-top: 4px; }
.ximg { display: block; position: relative; } .ximg img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; margin: 0; background: var(--grey); }
.tourflag { position: absolute; left: 0; top: 0; background: #f9c400; color: #111; font-size: 13px; padding: 4px 8px; letter-spacing: .02em; }
.tourband { margin: 34px var(--pad) 0; background: #f9c400; padding: 24px 22px 28px; }
.tourhead h2 { font-size: 34px; line-height: 1.05; } .tourhead p { font-size: 17px; line-height: 1.45; margin: 8px 0 22px; max-width: 34em; }
.xtour h3 { font-size: 25px; } .xtour .card-type { margin-top: 12px; }
.xfact { font-size: 16px; margin-top: 8px; } .xst { font-size: 15px; line-height: 1.4; margin-top: 8px; }
.xst span { display: block; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: #333; }
.xtour .actions { margin-top: 16px; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; } .xtour .btn-wide { min-width: 0; width: 100%; }
.section-head .count { font-size: 18px; vertical-align: super; }
.xback { margin: 22px var(--pad) 0; font-size: 16px; }
.xhead { padding-top: 14px !important; } .xheadl .lead { font-size: 22px; } .xmeta { font-size: 17px; line-height: 1.45; margin-top: 12px; color: #333; }
.xtourbox { background: #f9c400; padding: 20px 22px 22px; align-self: start; } .xtourbox h2 { font-size: 26px; line-height: 1.1; }
.xtourbox p { font-size: 16px; line-height: 1.45; margin-top: 8px; } .xtourbox .card-type { margin: 0 0 4px; }
.xtourbox .actions { margin-top: 14px; } .xtourbox .btn-wide { width: 100%; }
.xvideowrap { margin: 30px var(--pad) 0; } .xvideo { position: relative; aspect-ratio: 16 / 9; background: #000; }
.xvideo iframe { position: absolute; inset: 0; width: 100% !important; height: 100% !important; border: 0; }
.xbody { margin: 26px var(--pad) 0; border-top: 1px solid var(--line); padding-top: 8px; }
.xbody > p, .xbody > .xh, .xbody > .xquote, .xbody > ul, .xbody > ol { max-width: 40em; }
.xbody > p, .xbody > ul, .xbody > ol { font-size: 18px; line-height: 1.55; margin-top: 16px; }
.xbody .xh { font-size: 26px; line-height: 1.15; margin-top: 34px; }
.xquote { margin: 30px 0 6px; padding-left: 18px; border-left: 4px solid #f9c400; } .xquote p { font-size: 23px; line-height: 1.35; font-style: italic; }
.xquote footer { font-size: 15px; color: #555; margin-top: 8px; }
.ximgfig { margin: 26px 0 0; } .ximgfig img { width: 100%; height: auto; display: block; margin: 0; } .ximgfig figcaption { font-size: 14px; color: #555; margin-top: 6px; }
.xbody .xvideo { margin-top: 26px; }
.xgal { display: grid; grid-template-columns: 1fr; gap: 0 var(--gap); } .xgal .ximgfig img { aspect-ratio: 3 / 2; object-fit: cover; }
@media (min-width: 700px) {
	.xgrid { grid-template-columns: var(--col) var(--col); } .xgal { grid-template-columns: 1fr 1fr; }
	.xhead { grid-template-columns: var(--col) var(--col); align-items: start !important; } .xhead h1 { grid-column: 1 / -1; }
}
@media (min-width: 900px) { .xgrid3 { grid-template-columns: repeat(3, 1fr); } .tourband .xgrid3 { gap: 26px 24px; } }
.ximg { aspect-ratio: 4 / 3; background: var(--grey); overflow: hidden; } .ximg img { height: 100%; }
.xtour { display: flex; flex-direction: column; } .xtour .actions { margin-top: auto; padding-top: 16px; }
/* Aktuell und demnächst */
.xnowcard h3 { font-size: 25px; margin-top: 6px; } .xzeile { font-size: 16px; margin-top: 6px; } .xmore { margin-top: 8px; font-size: 16px; }
.xnl { margin-top: 26px; padding: 16px 0 0; border-top: 1px solid #ccc; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
.xnl p { font-size: 17px; line-height: 1.45; } .xnl-top { margin: 26px var(--pad) 0; }
.xstatus { margin-bottom: 10px; } .xstatus .xlabel { margin: 0 8px 0 0; vertical-align: middle; } .xstatus .xzeile { font-size: 17px; vertical-align: middle; }
/* Aktuell und demnächst: helles Blaufeld (seit 11/2026) */
.xnow { background: #dce9f2; color: #14284b; padding: 24px 22px 28px; border-top: 0 !important; }
.xnow .section-head h2, .xnow a { color: #14284b; } .xnow .btn { color: #fff; background: #14284b; border-color: #14284b; }
.xnow .xl-aktuell { background: #14284b; color: #fff; } .xnow .xl-demnaechst { background: transparent; color: #14284b; border-color: #14284b; }
.xnowgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 30px var(--gap); }
.xnowgrid .xnowcard h3 { font-size: 26px; line-height: 1.08; margin-top: 8px; } .xnowgrid .sub { font-size: 18px; margin-top: 4px; }
.xnowgrid .ximg { margin-bottom: 8px; } .xnowgrid .xlabel { margin-top: 4px; }
.xnow .xnl { border-top-color: rgba(20, 40, 75, .22); }
@media (min-width: 700px) {
	.xnowgrid { grid-template-columns: 1fr 1fr; }
	.xnowgrid .feat { grid-column: 1 / -1; display: grid; grid-template-columns: calc(var(--col) * 1.15) 1fr; gap: var(--gap); align-items: center; }
	.xnowgrid .feat .ximg { margin: 0; } .xnowgrid .feat h3 { font-size: 34px; line-height: 1.05; } .xnowgrid .feat .sub { font-size: 19px; }
}

/* ======================= Künstlerarchiv (seit 11/2026) ======================= */
.agrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 22px var(--gap); }
.agrid a { text-decoration: none; color: inherit; display: block; }
.aimg { display: block; position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: var(--grey); }
.aimg img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; transition: transform .3s; } .agrid a:hover img { transform: scale(1.03); }
.afilm { position: absolute; left: 0; bottom: 0; background: #111; color: #fff; font-size: 12px; padding: 4px 7px; letter-spacing: .03em; }
.aname { display: block; font-size: 19px; line-height: 1.2; margin-top: 8px; } .agrid a:hover .aname { text-decoration: underline; }
.afind { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; margin-bottom: 22px; }
.afind input { font: inherit; font-size: 18px; padding: 10px 12px; border: 1px solid #111; border-radius: 0; width: 100%; max-width: 320px; box-sizing: border-box; background: #fff; }
.aletters { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 18px; } .aletters a { text-decoration: none; } .aletters a:hover { text-decoration: underline; }
.alist { columns: 2; column-gap: var(--gap); } .agroup { break-inside: avoid; margin-bottom: 20px; scroll-margin-top: 130px; }
.agroup h3 { font-size: 26px; line-height: 1; border-bottom: 1px solid #ccc; padding-bottom: 6px; margin-bottom: 6px; }
.agroup ul { list-style: none; margin: 0; padding: 0; } .agroup li { font-size: 17px; line-height: 1.6; } .agroup a { text-decoration: none; } .agroup a:hover { text-decoration: underline; }
.anone { font-size: 17px; }
.abox { background: #f1efea; padding: 18px 20px 20px; align-self: start; } .abox ul { margin: 6px 0 0; padding-left: 1.1em; font-size: 17px; line-height: 1.5; }
.abox .actions { margin-top: 14px; } .abox .btn-wide { width: 100%; }
.avideos { display: grid; gap: 22px; }
.agal { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; } .agal .ximgfig { margin: 0; }
.agal img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; margin: 0; cursor: zoom-in; }
.agal-cap { font-size: 14px; color: #555; margin-top: 8px; }
.anext { margin: 34px var(--pad) 0; padding-top: 14px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 14px; font-size: 18px; }
.anext a { text-decoration: none; } .anext a:hover { text-decoration: underline; }
dialog.alight { border: 0; padding: 0; background: transparent; max-width: 94vw; max-height: 94vh; } dialog.alight::backdrop { background: rgba(0,0,0,.85); }
dialog.alight img { max-width: 94vw; max-height: 90vh; display: block; margin: 0; }
@media (min-width: 700px) { .agrid { grid-template-columns: repeat(3, 1fr); } .alist { columns: 3; } }
@media (min-width: 900px) { .agrid { grid-template-columns: repeat(6, 1fr); gap: 22px 18px; } .aname { font-size: 17px; } .alist { columns: 4; column-gap: 28px; } .agal { grid-template-columns: repeat(3, 1fr); } }
/* Künstlerseite: Fotos ungeschnitten in zwei Spalten, Klick = groß */
.agal { display: block; columns: 2; column-gap: 16px; } .agal .ximgfig { break-inside: avoid; margin: 0 0 16px; }
.agal img { aspect-ratio: auto; height: auto; object-fit: contain; }
@media (min-width: 900px) { .agal { grid-template-columns: none; columns: 2; column-gap: 20px; } .agal .ximgfig { margin-bottom: 20px; } }
@media (max-width: 499px) { .agal { columns: 1; } }

/* ======================= Kontakt, Datenschutz, Newsletter (seit 11/2026) ======================= */
.ctwo { display: grid; grid-template-columns: 1fr; gap: 0 var(--gap); margin: 0 var(--pad); } .ctwo .section { margin-left: 0; margin-right: 0; }
.ctext p { font-size: 18px; line-height: 1.5; margin-top: 10px; } .ctext p:first-of-type { margin-top: 0; }
.ctext a, .dtext a { overflow-wrap: anywhere; }
.dtext { overflow-wrap: break-word; } .dtext p, .dtext ul, .dtext ol { max-width: 40em; font-size: 17px; line-height: 1.55; margin-top: 14px; }
.dtext h2, .dtext h3, .dtext h4 { font-size: 24px; line-height: 1.2; margin-top: 30px; max-width: 32em; }
.dtext strong, .dtext b { font-weight: bold; }
.nlform { max-width: 560px; } .nlform label { display: block; font-size: 16px; margin: 16px 0 6px; } .nlform label:first-child { margin-top: 0; }
.nlform input[type=email], .nlform input[type=text] { font: inherit; font-size: 18px; width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1px solid #111; border-radius: 0; background: #fff; }
.nlform input:focus { outline: 2px solid #f9c400; outline-offset: 1px; }
.nlrow { display: grid; grid-template-columns: 1fr; gap: 0 18px; } .req { color: #b00; }
.nlnote { font-size: 14px; color: #555; margin: 10px 0 18px; } .nlform .btn { border: 0; cursor: pointer; font: inherit; font-size: 18px; }
.nlprivacy { font-size: 15px; line-height: 1.45; color: #444; margin-top: 16px; }
@media (min-width: 700px) { .ctwo { grid-template-columns: var(--col) var(--col); } .nlrow { grid-template-columns: 1fr 1fr; } }
