/* AVON Bühne – Ergänzungen zu theme.json. Farben und Schriften kommen aus theme.json. */

:root {
	--avon-ink: var(--wp--preset--color--ink);
	--avon-paper: var(--wp--preset--color--paper);
	--avon-card: var(--wp--preset--color--card);
	--avon-gold: var(--wp--preset--color--gold);
	--avon-gold-deep: var(--wp--preset--color--gold-deep);
	--avon-gold-soft: var(--wp--preset--color--gold-soft);
	--avon-line: var(--wp--preset--color--line);
	--avon-muted: var(--wp--preset--color--muted);
	--avon-ink-soft: var(--wp--preset--color--ink-soft);
	--avon-serif: var(--wp--preset--font-family--fraunces);
	--avon-section: clamp(4rem, 8vw, 6.5rem);
}

/* Abstände: Abschnitte steuern ihren Abstand selbst. */
.wp-site-blocks > *,
.avon-main > * { margin-block-start: 0; }
.avon-main { padding-top: 0; padding-bottom: 0; }

/* ---------- Kleine Typo-Bausteine ---------- */
.avon-eyebrow {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--avon-gold-deep);
	margin: 0 0 0.6rem;
}
.avon-eyebrow--dark { color: #B9AD98; }
.avon-eyebrow--live { display: flex; align-items: center; gap: 0.75rem; }
.avon-eyebrow--live::before {
	content: "";
	width: 10px; height: 10px; border-radius: 50%;
	background: var(--avon-gold);
	box-shadow: 0 0 0 4px rgba(212, 160, 23, 0.2);
}
.avon-lead { font-size: var(--wp--preset--font-size--medium); line-height: 1.5; color: var(--avon-ink-soft); max-width: 38rem; }
.avon-muted { color: var(--avon-muted); }
.avon-small { font-size: 0.875rem; color: var(--avon-muted); }
.avon-label {
	display: block;
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--avon-muted);
	margin-bottom: 0.2rem;
	font-weight: 500;
}
.avon-display em { font-weight: 400; }
.avon-placeholder {
	border: 1.5px dashed #B9AD98;
	border-radius: 10px;
	padding: 1.25rem;
	color: var(--avon-muted);
	font-size: 0.95rem;
	margin: 0;
}

/* ---------- Kopfzeile ---------- */
.avon-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(250, 246, 238, 0.94);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--avon-line);
	padding-top: 0.9rem;
	padding-bottom: 0.9rem;
}
.admin-bar .avon-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .avon-header { top: 46px; } }
.avon-header__nav { gap: 2rem; }
.avon-header .wp-block-navigation a { text-decoration: none; }
.avon-header .wp-block-navigation a:hover { color: var(--avon-gold-deep); }
.avon-header .wp-block-navigation .current-menu-item > a { box-shadow: inset 0 -2px 0 var(--avon-gold); }
.avon-header .wp-block-navigation__submenu-container {
	background: var(--avon-card) !important;
	border: 1px solid var(--avon-line) !important;
	border-radius: 10px;
	padding: 0.4rem 0;
	box-shadow: 0 10px 30px rgba(28, 25, 23, 0.08);
}
.avon-header .wp-block-navigation__submenu-container a { padding: 0.5rem 1.1rem !important; }
.avon-header__tickets .wp-block-button__link { padding: 0.7rem 1.4rem; }
.avon-logo img { display: block; }

.avon-wordmark {
	display: inline-flex; flex-direction: column; line-height: 0.9;
	font-family: var(--avon-serif); font-weight: 700; font-size: 1.9rem; letter-spacing: 0.06em;
	color: var(--avon-ink); text-decoration: none;
}
.avon-wordmark span { font-family: inherit; font-weight: 400; font-size: 0.8rem; letter-spacing: 0.2em; text-transform: uppercase; }

@media (max-width: 600px) {
	.avon-header__nav { gap: 0.75rem; }
	.avon-header__tickets .wp-block-button__link { padding: 0.6rem 1rem; font-size: 0.95rem; }
	.avon-logo img { width: 104px !important; height: auto; }
}

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease; }
.wp-block-button__link:active { transform: translateY(1px); }
.avon-btn-lg .wp-block-button__link { font-size: 1.125rem; padding: 1.1rem 2rem; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--avon-ink); color: var(--avon-paper); border-color: var(--avon-ink); }
.has-ink-background-color .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--avon-paper); color: var(--avon-ink); }
:where(.wp-block-button__link):focus-visible { outline: 3px solid var(--avon-gold-deep); outline-offset: 3px; }

/* ---------- Hero ---------- */
.avon-hero { padding-top: clamp(3rem, 6vw, 5rem); padding-bottom: clamp(3.5rem, 7vw, 5.5rem); }
.avon-hero__cols { gap: clamp(2rem, 5vw, 4.5rem); }
.avon-hero .avon-display { margin: 0.25rem 0 1.5rem; }
.avon-facts {
	gap: 2.5rem !important;
	border-top: 1px solid var(--avon-line);
	border-bottom: 1px solid var(--avon-line);
	padding: 1.1rem 0;
	margin: 2rem 0 !important;
}
.avon-facts p { margin: 0; }
.avon-facts strong { font-size: 1.1rem; font-weight: 600; }

/* Plakat im Lichterrahmen */
.avon-marquee-frame {
	padding: 22px;
	border-radius: 18px;
	background-color: var(--avon-ink);
	background-image: radial-gradient(circle, var(--avon-gold) 3.5px, transparent 4.5px);
	background-size: 22px 22px;
	background-position: 0 0;
}
.avon-marquee-frame--dark { background-color: transparent; }
.avon-marquee-frame .avon-poster { margin: 0; }
.avon-marquee-frame .avon-poster img { display: block; width: 100%; height: auto; border-radius: 8px; }

/* ---------- Band ---------- */
.avon-band { padding-top: 1.35rem; padding-bottom: 1.35rem; }
.avon-band p { margin: 0; }
.avon-band__tag { font-family: var(--avon-serif); font-size: 1.4rem; color: var(--avon-gold); margin-right: 0.75rem; }
.avon-band__muted { color: #CFC6B8; }

/* ---------- Abschnitte ---------- */
.avon-section { padding-top: var(--avon-section); }
.avon-section--last { padding-bottom: var(--avon-section); }
.avon-section-head { margin-bottom: 2.25rem; gap: 1rem; }
.avon-section-head--tight { margin-bottom: 1.25rem; }
.avon-section-head h2 { margin: 0; }
.avon-more { margin: 0; font-weight: 600; }
.avon-more a { color: var(--avon-ink); }

/* Ticket-Abschnitte */
.avon-stubs { gap: 1.5rem; }
.avon-stub {
	position: relative;
	background: var(--avon-card);
	border: 1px solid var(--avon-line);
	border-radius: 14px;
	gap: 0 !important;
	height: 100%;
	box-sizing: border-box;
	align-items: stretch !important;
}
.avon-stub__info { padding: 1.5rem 1.6rem; flex: 1 1 auto; }
.avon-stub__info .avon-eyebrow { margin-bottom: 0.3rem; font-size: 0.75rem; }
.avon-stub__day { margin: 0; font-size: 1.85rem; }
.avon-stub__time { margin: 0.2rem 0 0; color: var(--avon-muted); }
.avon-stub__cta {
	position: relative;
	flex: 0 0 8.5rem;
	justify-content: center;
	align-items: center;
	border-left: 2px dashed var(--avon-line);
	margin: 0 !important;
}
.avon-stub__cta::before,
.avon-stub__cta::after {
	content: "";
	position: absolute;
	left: -11px;
	width: 20px; height: 20px;
	border-radius: 50%;
	background: var(--avon-paper);
	border: 1px solid var(--avon-line);
}
.avon-stub__cta::before { top: -11px; clip-path: inset(50% 0 0 0); }
.avon-stub__cta::after { bottom: -11px; clip-path: inset(0 0 50% 0); }
.avon-stub__cta .wp-block-button__link { padding: 0.75rem 1.25rem; font-size: 1rem; }

/* Newsletter */
.avon-newsletter { border-radius: 20px; padding: clamp(2rem, 5vw, 3.5rem) clamp(1.5rem, 5vw, 4rem); }
.avon-newsletter h2 { margin-top: 0; }
.avon-newsletter .avon-lead { margin-bottom: 0; }
.avon-newsletter__form input[type="email"],
.avon-newsletter__form input[type="text"] {
	height: 56px; padding: 0 1rem; border: 1.5px solid var(--avon-ink); border-radius: 10px;
	background: var(--avon-card); font: inherit;
}
.avon-newsletter__form button,
.avon-newsletter__form input[type="submit"] {
	height: 56px; padding: 0 1.6rem; border: 0; border-radius: 10px;
	background: var(--avon-ink); color: var(--avon-paper); font: inherit; font-weight: 700; cursor: pointer;
}

/* Karten */
.avon-cards { gap: 1.5rem; }
.avon-card {
	background: var(--avon-card);
	border: 1px solid var(--avon-line);
	border-radius: 14px;
	padding: 2.25rem 2rem;
	display: flex;
	flex-direction: column;
}
.avon-card h3 { margin: 0.25rem 0 0.75rem; }
.avon-card p { color: var(--avon-ink-soft); }
.avon-card__num { font-family: var(--avon-serif); font-style: italic; font-size: 1.35rem; color: var(--avon-gold-deep) !important; margin: 0; }
.avon-card__link { margin-top: auto !important; padding-top: 0.5rem; font-weight: 700; }
.avon-card__link a { color: var(--avon-ink); text-decoration: none; }
.avon-card__link a:hover { color: var(--avon-gold-deep); }

/* Rückblick */
.avon-archive { gap: 1.5rem; }
.avon-archive__item { border-top: 3px solid var(--avon-ink); padding-top: 1.1rem; }
.avon-archive__year { font-family: var(--avon-serif); font-size: 3rem; line-height: 1; color: var(--avon-gold); font-weight: 600; margin: 0 0 0.75rem; }
.avon-archive__item h3 { font-size: 1.6rem; margin: 0 0 0.5rem; }
.avon-archive__item h3 a { color: var(--avon-ink); text-decoration: none; }
.avon-archive__item h3 a:hover { color: var(--avon-gold-deep); }
.avon-archive__item p:last-child { color: var(--avon-muted); margin: 0; }

/* Sponsoren */
.avon-sponsors { gap: 1rem; }
.avon-sponsors > p {
	margin: 0;
	min-height: 88px;
	border: 1px solid var(--avon-line);
	border-radius: 10px;
	background: var(--avon-card);
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.2rem;
	padding: 0.75rem; text-align: center;
}
.avon-sponsors a { font-weight: 600; color: var(--avon-ink-soft); text-decoration: none; }
.avon-sponsors a:hover { color: var(--avon-gold-deep); }
.avon-sponsors span { font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--avon-muted); }
.avon-sponsors img { max-height: 48px; width: auto; }

/* ---------- Stückseite ---------- */
.avon-show-head { padding-top: clamp(3rem, 6vw, 4.5rem); padding-bottom: clamp(3.5rem, 7vw, 5rem); }
.avon-show-head .wp-block-columns { gap: clamp(2rem, 5vw, 4.5rem); }
.avon-show-head .avon-display { margin: 0.75rem 0 1rem; }
.avon-show-head__meta { color: #CFC6B8; font-size: 1.2rem; margin: 0; }
.avon-show-head__claim { font-family: var(--avon-serif); font-style: italic; font-size: 1.85rem; color: var(--avon-gold); margin: 1rem 0 2rem; }
.avon-pills { display: flex; gap: 0.6rem; flex-wrap: wrap; margin: 0; }
.avon-pill {
	display: inline-block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
	padding: 0.45rem 0.85rem; border-radius: 999px; border: 1px solid #5A524A; color: #CFC6B8;
}
.avon-pill--gold { background: var(--avon-gold); border-color: var(--avon-gold); color: var(--avon-ink); }
.avon-pill--soft { background: var(--avon-gold-soft); border-color: var(--avon-gold-soft); color: var(--avon-ink); }

.avon-facts-bar {
	background: var(--avon-card);
	border: 1px solid var(--avon-line);
	border-top: 0;
	border-radius: 0 0 16px 16px;
	gap: 0 !important;
}
.avon-facts-bar > p { margin: 0; padding: 1.5rem 1.6rem; border-right: 1px solid var(--avon-line); }
.avon-facts-bar > p:last-child { border-right: 0; }
.avon-facts-bar strong { font-size: 1.1rem; font-weight: 600; }

.avon-story { gap: clamp(2rem, 5vw, 4rem); }
.avon-story h2 { margin-top: 0; }
.avon-story .wp-block-column > p:not(.avon-eyebrow) { color: var(--avon-ink-soft); font-size: 1.1875rem; line-height: 1.65; }
.avon-aside { border-radius: 16px; padding: 2.25rem 2rem; margin-top: 2.5rem; }
/* Links im Regie-Kasten übernehmen die Textfarbe des Kastens (sonst z. B. schwarz auf schwarz im Stummfilm). */
.avon-aside.avon-aside a:not(.wp-element-button) { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
.avon-aside.avon-aside a:not(.wp-element-button):hover,
.avon-aside.avon-aside a:not(.wp-element-button):focus-visible { text-decoration-thickness: 2px; }
.avon-quote { font-family: var(--avon-serif); font-size: 1.5rem; line-height: 1.35; }

.avon-weeks { gap: 1.5rem; }
.avon-week { background: var(--avon-card); border: 1px solid var(--avon-line); border-radius: 16px; padding: 1.5rem 1.75rem 0.75rem; }
.avon-week > * + * { margin-block-start: 0 !important; }
.avon-week__head { border-bottom: 1px solid var(--avon-line); padding-bottom: 0.75rem; }
.avon-week__head h3 { font-size: 1.5rem; margin: 0; }
.avon-week__head p { margin: 0; }
.avon-date { min-height: 4.25rem; border-bottom: 1px dashed var(--avon-line); gap: 1rem !important; }
.avon-date:last-child { border-bottom: 0; }
.avon-date p { margin: 0; }
.avon-date__day { font-weight: 600; flex: 0 0 11rem; }
.avon-date__time { color: var(--avon-ink-soft); flex: 0 0 6.5rem; }
.avon-date__tag { flex: 1 1 auto; }
.avon-date__cta .wp-block-button__link { padding: 0.65rem 1.1rem; font-size: 0.95rem; }
@media (max-width: 600px) {
	.avon-date { flex-wrap: wrap !important; padding: 0.75rem 0; }
	.avon-date__day { flex-basis: 100%; }
	.avon-date__time { flex-basis: auto; }
}

.avon-cast { gap: 1.5rem; }
.avon-person__photo {
	aspect-ratio: 4 / 5; margin: 0; border-radius: 12px; background: #E9DFCB;
	display: flex; align-items: flex-end; justify-content: center; padding-bottom: 1rem; box-sizing: border-box;
	font-size: 0.75rem; color: var(--avon-muted);
}
.avon-person .wp-block-image img { aspect-ratio: 4 / 5; object-fit: cover; border-radius: 12px; }
.avon-person__name { margin: 0.75rem 0 0; color: var(--avon-muted); line-height: 1.45; }
.avon-person__name strong { color: var(--avon-ink); font-size: 1.1rem; }
.avon-team { gap: 2rem 1.5rem; margin-top: 3rem !important; padding-top: 2.5rem; border-top: 1px solid var(--avon-line); }
.avon-team > p { margin: 0; line-height: 1.5; }
.avon-team .avon-label { color: var(--avon-gold-deep); font-weight: 600; }

.avon-menu p { display: flex; justify-content: space-between; gap: 1rem; margin: 0; padding: 0.8rem 0; border-bottom: 1px dashed var(--avon-line); }
.avon-map {
	margin: 0.5rem 0 1rem;
	min-height: 180px;
	border-radius: 12px;
	background-color: #EFE7D6;
	background-image: linear-gradient(#E2D7C1 1px, transparent 1px), linear-gradient(90deg, #E2D7C1 1px, transparent 1px);
	background-size: 32px 32px;
	display: flex; align-items: center; justify-content: center;
}
.avon-map a { background: var(--avon-ink); color: var(--avon-paper); font-size: 0.9rem; font-weight: 600; padding: 0.55rem 1rem; border-radius: 999px; text-decoration: none; }

/* ---------- Seiten ---------- */
.avon-page { padding-top: var(--avon-section); padding-bottom: var(--avon-section); }
.avon-page-title { margin-bottom: 2rem; }
.avon-page > .wp-block-post-title { font-size: var(--wp--preset--font-size--x-large); }

/* ---------- Fusszeile ---------- */
.avon-footer { padding-top: 4.5rem; padding-bottom: 2.5rem; }
.avon-footer a { color: var(--avon-paper); }
.avon-footer a:hover { color: var(--avon-gold); }
.avon-footer__cols { gap: 2rem; }
.avon-footer__logo img { filter: invert(1); }
.avon-footer .avon-wordmark { color: var(--avon-gold); }
.avon-footer__muted { color: #CFC6B8; }
.avon-footer__links a { text-decoration: none; line-height: 1.9; }
.avon-footer__cta a { color: var(--avon-gold); font-weight: 700; }
.avon-footer__bottom { border-top: 1px solid #3B3530; margin-top: 3rem !important; padding-top: 1.5rem; font-size: 0.875rem; color: #9C9285; }
.avon-footer__bottom p { margin: 0; }
.avon-footer__legal { display: flex; gap: 1.75rem; flex-wrap: wrap; }
.avon-footer__legal a { color: #9C9285; }

/* ---------- Ticket-Leiste (Handy) ---------- */
.avon-ticketbar { display: none !important; }
@media (max-width: 781px) {
	.avon-ticketbar {
		display: flex !important;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
		margin: 0 !important;
		padding: 0.75rem 1rem calc(0.9rem + env(safe-area-inset-bottom));
		background: var(--avon-paper);
		border-top: 1px solid var(--avon-line);
		box-shadow: 0 -6px 18px rgba(28, 25, 23, 0.08);
	}
	.avon-ticketbar p { margin: 0; display: flex; flex-direction: column; line-height: 1.3; }
	.avon-ticketbar span { font-size: 0.75rem; color: var(--avon-muted); }
	.avon-ticketbar .wp-block-button__link { padding: 0.8rem 1.4rem; }
	body:has(.avon-ticketbar) .avon-footer { padding-bottom: 7rem; }
}

/* ---------- Mobil ---------- */
@media (max-width: 781px) {
	.avon-hero__cols { flex-direction: column-reverse; }
	.avon-marquee-frame { padding: 14px; background-size: 18px 18px; background-image: radial-gradient(circle, var(--avon-gold) 3px, transparent 4px); }
	.avon-facts { gap: 1.25rem !important; }
	.avon-stub__cta { flex-basis: 7rem; }
	.avon-facts-bar > p { border-right: 0; border-bottom: 1px solid var(--avon-line); }
	.avon-aside { margin-top: 0; }
}

/* Im Editor: Ticket-Leiste sichtbar lassen, damit sie bearbeitbar ist. */
.editor-styles-wrapper .avon-ticketbar {
	display: flex !important; position: static; border: 1px dashed var(--avon-line); border-radius: 10px; padding: 0.75rem 1rem;
}
.editor-styles-wrapper .avon-header { position: static; }

@media (max-width: 600px) {
	.avon-stub__day { font-size: 1.5rem; }
	.avon-stub__info { padding: 1.25rem; }
}

/* Logo-Grössen fest begrenzen (unabhängig von den Bilddaten in der Mediathek). */
.avon-logo { flex: 0 0 auto; }
.avon-logo img { width: 132px !important; max-width: 132px; height: auto !important; }
.avon-footer__logo img { width: 150px !important; max-width: 150px; height: auto !important; }
.avon-header .wp-block-button__link,
.avon-stub__cta .wp-block-button__link,
.avon-date__cta .wp-block-button__link { white-space: nowrap; }
.avon-header__nav { flex-shrink: 1; min-width: 0; }
@media (max-width: 600px) {
	.avon-logo img { width: 104px !important; max-width: 104px; }
}

/* ---------- Formulare ---------- */
.avon-form { display: flex; flex-direction: column; gap: 1.25rem; max-width: 46rem; }
.avon-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.25rem; }
.avon-field { display: flex; flex-direction: column; gap: 0.35rem; }
.avon-field--wide { grid-column: 1 / -1; }
.avon-field label, .avon-field legend { font-weight: 600; font-size: 0.95rem; }
.avon-field input:not([type="checkbox"]):not([type="radio"]),
.avon-field select,
.avon-field textarea {
	width: 100%; box-sizing: border-box; min-height: 52px; padding: 0.75rem 1rem;
	border: 1.5px solid #CFC4B2; border-radius: 10px; background: var(--avon-card); font: inherit; color: var(--avon-ink);
}
.avon-field textarea { min-height: 140px; }
.avon-field input:focus, .avon-field select:focus, .avon-field textarea:focus { outline: none; border-color: var(--avon-ink); box-shadow: 0 0 0 3px rgba(212, 160, 23, 0.35); }
.avon-field fieldset { border: 0; padding: 0; margin: 0; }
.avon-field legend { margin-bottom: 0.5rem; }
.avon-choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 0.4rem 1rem; }
.avon-choices label, .avon-consent label { font-weight: 400; display: flex; gap: 0.6rem; align-items: flex-start; }
.avon-choices input, .avon-consent input { width: 1.15rem; height: 1.15rem; margin-top: 0.2rem; accent-color: var(--avon-ink); }
.avon-req { color: var(--avon-gold-deep); }
.avon-consent { margin: 0; font-size: 0.95rem; }
.avon-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.avon-form button.wp-block-button__link { border: 0; cursor: pointer; }
.avon-form-success, .avon-form-error { padding: 1rem 1.25rem; border-radius: 10px; margin: 0; }
.avon-form-success { background: #E3F1E4; color: #1F4D24; font-weight: 600; }
.avon-form-error { background: #FBE4DF; color: #7A2412; }
.avon-form--compact { max-width: none; flex-direction: row; flex-wrap: wrap; align-items: flex-end; gap: 0.75rem; }
.avon-form--compact .avon-form__fields { display: block; flex: 1 1 16rem; }
.avon-form--compact .avon-field input { border-color: var(--avon-ink); }
.avon-form--compact .wp-block-button__link { background: var(--avon-ink); color: var(--avon-paper); min-height: 52px; }
.avon-form--compact .avon-form-error { flex-basis: 100%; }
@media (max-width: 600px) { .avon-form__fields { grid-template-columns: 1fr; } }

/* ---------- Inhaltsseiten ---------- */
.avon-page .wp-block-post-content > h2 { margin-top: 2.75rem; }
.avon-page .wp-block-post-content > h3 { margin-top: 2rem; }
.avon-page .wp-block-post-content img { border-radius: 10px; }
.avon-gallery.wp-block-gallery { gap: 0.75rem; }
.avon-gallery.wp-block-gallery img { border-radius: 8px; }
.wp-block-video video { border-radius: 10px; width: 100%; }
.wp-block-embed-youtube { margin-bottom: 2.5rem; }
.avon-ticketshop { background: var(--avon-card); border: 1px solid var(--avon-line); border-radius: 16px; padding: clamp(1rem, 3vw, 2rem); min-height: 200px; }
.avon-archive--projects .avon-archive__year { font-size: 0.8125rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--avon-gold-deep); font-family: inherit; font-weight: 600; }
.avon-archive--projects .avon-archive__item { border-top-width: 1px; }
.avon-page .avon-archive { margin-top: 2rem; margin-bottom: 1rem; }
.avon-page .avon-map { margin: 1.5rem 0; }
.wp-block-post-content .avon-lead { max-width: none; }
.avon-page .wp-block-post-content h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); }
.avon-page .wp-block-post-content h3 { font-size: clamp(1.35rem, 2.2vw, 1.6rem); }
.avon-page .wp-block-post-content h4 { font-size: 1.2rem; }
.avon-page .wp-block-post-content > h2 + p, .avon-page .wp-block-post-content > h3 + p { margin-top: 0.5rem; }

/* ---------- Kopfzeile: kein Blur-Effekt (sperrt sonst das Handy-Menü in die Kopfzeile ein) ---------- */
.avon-header { backdrop-filter: none; -webkit-backdrop-filter: none; background: var(--avon-paper); z-index: 70; }

/* ---------- Handy-Menü (Vollbild) ---------- */
.avon-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--avon-paper) !important;
	color: var(--avon-ink) !important;
	padding: 1.1rem 1.5rem 2.5rem !important;
}
.avon-header .is-menu-open .wp-block-navigation__responsive-close { max-width: none; }
.avon-header .is-menu-open .wp-block-navigation__responsive-container-close { top: 0.25rem; right: 0; padding: 0.5rem; }
.avon-header .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }
.avon-header .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 3.75rem !important;
	align-items: stretch !important;
}
.avon-header .is-menu-open .wp-block-navigation__container {
	align-items: stretch !important;
	gap: 0 !important;
	width: 100%;
}
.avon-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	align-items: flex-start !important;
	border-bottom: 1px solid var(--avon-line);
	padding: 0.2rem 0;
}
.avon-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-family: var(--avon-serif);
	font-size: 1.75rem;
	font-weight: 600;
	line-height: 1.2;
	padding: 0.7rem 0 !important;
}
.avon-header .is-menu-open .wp-block-navigation-submenu__toggle,
.avon-header .is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
.avon-header .is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none !important;
	padding: 0 0 0.9rem 0 !important;
	gap: 0 !important;
}
.avon-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-family: inherit;
	font-size: 1.1rem;
	font-weight: 500;
	color: var(--avon-ink-soft);
	padding: 0.45rem 0 !important;
}
.avon-header .is-menu-open .wp-block-navigation-item__content:hover,
.avon-header .is-menu-open .wp-block-navigation-item__content:focus-visible { color: var(--avon-gold-deep); }
.avon-header .is-menu-open .current-menu-item > a { box-shadow: none; color: var(--avon-gold-deep); }
/* Ticket-Leiste nicht über dem offenen Menü */
html.has-modal-open .avon-ticketbar { display: none !important; }
.avon-header .is-menu-open .wp-block-navigation__submenu-container,
.avon-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: left !important;
	width: 100%;
}
.avon-header .is-menu-open .wp-block-navigation-item__content { text-align: left !important; }

/* ---------- Automatische Vorstellungs-Blöcke ---------- */
.avon-next__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1rem; }
.avon-next__head p { margin: 0; }
.avon-next__stubs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.avon-next .avon-stub, .avon-stubs .avon-stub { display: flex; }
.avon-stub__cta { display: flex; }
.avon-soldout, .avon-past {
	display: inline-block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
	padding: 0.5rem 0.8rem; border-radius: 999px; background: var(--avon-line); color: var(--avon-muted);
}
.avon-soldout { background: #F4DCD6; color: #7A2412; }
.avon-next__box { background: var(--avon-gold-soft); border-radius: 20px; padding: clamp(2rem, 5vw, 3.5rem) clamp(1.5rem, 5vw, 4rem); }
.avon-next__box h2 { margin: 0 0 0.75rem; }
.avon-next__box .avon-lead { margin: 0 0 1.5rem; }
.avon-band--auto { padding-left: var(--wp--style--root--padding-left, 1.5rem); padding-right: var(--wp--style--root--padding-right, 1.5rem); }
.avon-band__inner { max-width: var(--wp--style--global--wide-size, 1280px); margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 2rem; }
.avon-weeks--auto { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(26rem, 100%), 1fr)); gap: 1.5rem; }
.avon-termine .avon-week__head { display: flex; justify-content: space-between; align-items: baseline; }
.avon-termine .avon-date { display: flex; align-items: center; }
.avon-date.is-past .avon-date__day, .avon-date.is-past .avon-date__time { color: var(--avon-muted); text-decoration: line-through; text-decoration-color: rgba(107, 99, 90, 0.5); }
@media (max-width: 781px) {
	.avon-next__stubs { grid-template-columns: 1fr; }
}

/* Vorschau-Datum (nur für angemeldete Redaktion) */
.avon-preview-note {
	position: fixed; left: 16px; bottom: 16px; z-index: 90; max-width: calc(100% - 32px);
	background: var(--avon-gold); color: var(--avon-ink); font-size: 0.9rem; line-height: 1.4;
	padding: 0.6rem 1rem; border-radius: 10px; box-shadow: 0 6px 20px rgba(28, 25, 23, 0.25);
}
.avon-preview-note a { color: var(--avon-ink); font-weight: 700; margin-left: 0.5rem; }
@media (max-width: 781px) { .avon-preview-note { bottom: 96px; } }

/* Ohne Band (nach der letzten Vorstellung) kein doppelter Abstand unter dem Hero */
.avon-hero + .avon-next { padding-top: 0; }
.avon-hero:has(+ .avon-next) { padding-bottom: clamp(2.5rem, 5vw, 4rem); }

/* ---------- Automatischer Hero (aktuelle Produktion) ---------- */
.avon-hero--auto {
	padding-left: var(--wp--style--root--padding-left, 1.5rem);
	padding-right: var(--wp--style--root--padding-right, 1.5rem);
}
.avon-hero__grid {
	max-width: var(--wp--style--global--wide-size, 1280px);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 54fr) minmax(0, 46fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}
.avon-hero--auto .avon-display { margin: 0.25rem 0 1.5rem; }
.avon-hero--auto .avon-facts { display: flex; flex-wrap: wrap; }
.avon-hero--auto .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 1rem; }
.avon-hero__media .avon-poster { margin: 0; }
.avon-hero__caption { margin: 0.75rem 0 0; font-size: 0.875rem; color: var(--avon-muted); text-align: right; }
@media (max-width: 781px) {
	.avon-hero__grid { grid-template-columns: 1fr; }
	.avon-hero__media { order: -1; }
	.avon-hero__caption { text-align: left; }
}
.avon-next__box--newsletter { background: var(--avon-ink); color: var(--avon-paper); }
.avon-next__box--newsletter .avon-eyebrow { color: var(--avon-gold); }
.avon-next__box--newsletter .avon-lead { color: #CFC6B8; }
.avon-band__muted a { color: var(--avon-gold); }

/* Outline-Buttons unabhängig davon, ob WordPress die Button-Stile geladen hat */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: currentColor;
	border: 1.5px solid currentColor;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--avon-ink); color: var(--avon-paper); border-color: var(--avon-ink); }

/* ---------- 1.4: Handy – Ticket-Leiste und Terminzeilen ---------- */
@media (max-width: 781px) {
	.avon-ticketbar { justify-content: space-between !important; align-items: center !important; gap: 1rem !important; flex-wrap: nowrap !important; }
	.avon-ticketbar > p { flex: 1 1 auto; min-width: 0; }
	.avon-ticketbar > p span, .avon-ticketbar > p strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.avon-ticketbar > .wp-block-button, .avon-ticketbar > .wp-block-buttons { flex: 0 0 auto; margin: 0 0 0 auto !important; }
}
@media (max-width: 700px) {
	.avon-week { padding: 1.1rem 1.1rem 0.4rem; }
	.avon-date, .avon-termine .avon-date {
		display: grid !important;
		grid-template-columns: auto minmax(0, 1fr) auto;
		grid-template-areas: "day day cta" "time tag cta";
		align-items: center;
		column-gap: 0.75rem !important; row-gap: 0.3rem !important;
		padding: 0.8rem 0; min-height: 0;
	}
	.avon-date > * { margin: 0 !important; }
	.avon-date__day { grid-area: day; flex: none; }
	.avon-date__time { grid-area: time; flex: none; font-size: 0.9rem; }
	.avon-date__tag { grid-area: tag; flex: none; min-width: 0; }
	.avon-date__tag:empty { display: block; }
	.avon-date__tag .avon-pill { display: inline-block; max-width: 100%; box-sizing: border-box; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; font-size: 0.6875rem; letter-spacing: 0.06em; padding: 0.2rem 0.55rem; white-space: nowrap; }
	.avon-date__cta { grid-area: cta; justify-self: end; }
	.avon-date__cta .wp-block-button__link { padding: 0.6rem 1rem; }
	.avon-date__cta .avon-soldout, .avon-date__cta .avon-past { font-size: 0.65rem; padding: 0.45rem 0.65rem; letter-spacing: 0.08em; }
}

/* ---------- 1.4: Seite «Produktionen» ---------- */
.avon-prodpage > .avon-lead { margin: 0 0 2rem; }
.avon-prodfeature {
	display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center;
	background: var(--avon-card); border: 1px solid var(--avon-line); border-radius: 20px; padding: clamp(1.25rem, 3vw, 2rem);
}
.avon-prodfeature__poster { margin: 0; }
.avon-prodfeature__poster img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }
.avon-prodfeature__text > p:not(.avon-eyebrow) { color: var(--avon-ink-soft); margin: 0 0 1rem; }
.avon-prodfeature__title { font-size: clamp(2rem, 4.5vw, 3.25rem); line-height: 1.05; margin: 0.25rem 0 1rem; }
.avon-prodfeature .avon-facts { display: flex; flex-wrap: wrap; gap: 1rem 2.25rem; margin: 1.25rem 0 1.5rem; }
.avon-prodfeature .avon-facts p { margin: 0; display: flex; flex-direction: column; }
.avon-prodfeature .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.avon-prodfeature--planung { grid-template-columns: 1fr; background: var(--avon-ink); color: var(--avon-paper); border-color: var(--avon-ink); }
.avon-prodfeature--planung .avon-eyebrow { color: var(--avon-gold); }
.avon-prodfeature--planung .avon-prodfeature__text > p:not(.avon-eyebrow) { color: #CFC6B8; max-width: 38rem; }

.avon-timeline-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1rem 2rem; margin-top: var(--avon-section); }
.avon-timeline-head h2 { margin: 0; }
.avon-timeline-legend { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.6rem; font-size: 0.875rem; color: var(--avon-muted); }
.avon-timeline-legend { gap: 0.5rem 1.5rem; }
.avon-legend-item { display: inline-flex; align-items: center; gap: 0.5rem; }
.avon-kind {
	display: inline-block; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
	line-height: 1.2; padding: 0.3rem 0.65rem; border-radius: 999px; border: 1.5px solid transparent;
}

.avon-timeline { --rail: 7.5rem; list-style: none; margin: 2rem 0 0; padding: 0; position: relative; }
.avon-timeline::before { content: ""; position: absolute; top: 0.5rem; bottom: 1rem; left: var(--rail); width: 2px; margin-left: -1px; background: var(--avon-line); }
.avon-timeline > li { position: relative; margin: 0; }
.avon-timeline__year { padding: 1.75rem 0 1rem calc(var(--rail) + 2rem); min-height: 2.6rem; }
.avon-timeline__year span {
	position: absolute; left: 0; width: calc(var(--rail) - 1.75rem); text-align: right; top: 1.5rem;
	font-family: var(--avon-serif); font-size: 2.6rem; font-weight: 600; line-height: 1; color: var(--avon-gold-deep);
}
.avon-timeline__year::after {
	content: ""; position: absolute; left: var(--rail); top: 2.1rem; width: 14px; height: 14px; margin-left: -7px;
	border-radius: 50%; background: var(--avon-ink); box-shadow: 0 0 0 5px var(--avon-paper);
}
.avon-timeline__year em { display: block; padding-top: 0.55rem; color: var(--avon-muted); font-style: italic; }
.avon-timeline__item { padding: 0 0 1.25rem calc(var(--rail) + 2rem); }
.avon-timeline__item::before {
	content: ""; position: absolute; left: var(--rail); top: 1.6rem; box-sizing: border-box;
	width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; background: var(--avon-gold); box-shadow: 0 0 0 4px var(--avon-paper);
}
.avon-tl-card {
	display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 1.25rem; align-items: center;
	background: var(--avon-card); border: 1px solid var(--avon-line); border-radius: 16px; padding: 0.9rem;
}
.avon-tl-card__img { margin: 0; }
.avon-tl-card__img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.avon-tl-card__img--empty { aspect-ratio: 4 / 3; border-radius: 10px; background: var(--avon-gold-soft); display: flex; align-items: center; justify-content: center; font-family: var(--avon-serif); font-weight: 700; letter-spacing: 0.08em; color: var(--avon-gold-deep); }
.avon-tl-card__body { padding-right: 0.5rem; }
.avon-tl-card__kinds { margin: 0 0 0.5rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.avon-tl-card__kinds .avon-pill { font-size: 0.6875rem; padding: 0.25rem 0.6rem; }
.avon-tl-card__title { font-size: 1.6rem; line-height: 1.15; margin: 0 0 0.35rem; }
.avon-tl-card__title a { color: var(--avon-ink); text-decoration: none; }
.avon-tl-card__title a:hover { color: var(--avon-gold-deep); text-decoration: underline; text-underline-offset: 0.15em; }
.avon-tl-card__meta { margin: 0 0 0.5rem; font-size: 0.9rem; color: var(--avon-muted); }
.avon-tl-card__pitch { margin: 0; font-size: 0.975rem; line-height: 1.5; color: var(--avon-ink-soft); }
.avon-prodpage__more { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--avon-line); }
.avon-prodpage__more p { margin: 0 0 0.25rem; }
.avon-prodpage__more a { color: var(--avon-ink); font-weight: 600; }

@media (max-width: 781px) {
	.avon-prodfeature { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
	.avon-timeline { --rail: 0.5rem; }
	.avon-timeline__year { padding: 1.5rem 0 0.75rem 2rem; min-height: 0; }
	.avon-timeline__year span { position: static; display: block; width: auto; text-align: left; font-size: 2.1rem; }
	.avon-timeline__year::after { top: 1.95rem; }
	.avon-timeline__year em { padding-top: 0.25rem; }
	.avon-timeline__item { padding-left: 2rem; }
	.avon-tl-card { grid-template-columns: 1fr; gap: 0.9rem; }
	.avon-tl-card__img img, .avon-tl-card__img--empty { aspect-ratio: 16 / 9; }
	.avon-tl-card__body { padding: 0 0.25rem 0.25rem; }
	.avon-tl-card__title { font-size: 1.4rem; }
}

/* 1.6.2: Symbole auf der Zeitleiste (Form je Produktionsart) */
.avon-timeline__item::before { content: none; }
.avon-tl-marker {
	position: absolute; left: var(--rail); top: 1.3rem; width: 26px; height: 26px; margin-left: -13px;
	display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--avon-paper);
}
.avon-tl-marker svg { width: 20px; height: 20px; overflow: visible; fill: var(--avon-gold); stroke-width: 1.8; stroke-linejoin: round; }

/* 1.7: Rückblick auf der Startseite, Social-Logos in der Fusszeile */
.avon-archive--auto { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 1.5rem; margin-top: 2rem; }
.avon-archive--auto .avon-archive__item p:not(.avon-archive__year) { color: var(--avon-muted); margin: 0; }
.avon-footer__social { gap: 0.6rem !important; margin-top: 0.75rem !important; padding-left: 0; }
.avon-footer__social .wp-social-link { color: var(--avon-paper); }
.avon-footer__social .wp-social-link a { padding: 0 !important; gap: 0.6rem; }
.avon-footer__social .wp-social-link svg { width: 22px; height: 22px; }
.avon-footer__social .wp-block-social-link-label { font-size: 1rem !important; }
.avon-footer__social .wp-social-link:hover, .avon-footer__social .wp-social-link a:hover { color: var(--avon-gold) !important; transform: none; }
.avon-rueckblick { padding-bottom: var(--avon-section); }

/* 1.8: Barrierefreiheit (für sehende Maus-Nutzer:innen unsichtbar) */
.avon-sr {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
	clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
	outline: 3px solid var(--avon-gold-deep); outline-offset: 3px; border-radius: 2px;
}
.has-ink-background-color a:focus-visible, .avon-footer a:focus-visible { outline-color: var(--avon-gold); }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* 1.9: Karte (Google Maps, Zwei-Klick) */
.avon-karte { margin-block: 0.5rem 1rem; }
.avon-karte__frame {
	position: relative; overflow: hidden; border-radius: 12px; border: 1px solid var(--avon-line);
	background-color: #EFE7D6;
	background-image: linear-gradient(#E2D7C1 1px, transparent 1px), linear-gradient(90deg, #E2D7C1 1px, transparent 1px);
	background-size: 32px 32px;
}
.avon-karte__frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.avon-karte__consent {
	height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.75rem;
	padding: 1.25rem; text-align: center; box-sizing: border-box;
}
.avon-karte__place { margin: 0; font-weight: 600; background: var(--avon-paper); padding: 0.35rem 0.9rem; border-radius: 12px; line-height: 1.4; }
.avon-karte__load { cursor: pointer; }
.avon-karte__note { margin: 0; font-size: 0.8125rem; color: var(--avon-ink-soft); max-width: 22rem; }
.avon-karte__note a { color: inherit; }
.avon-karte__route { margin: 0.6rem 0 0; font-weight: 600; }
.avon-karte__route a { color: var(--avon-ink); text-decoration: none; }
.avon-karte__route a:hover { color: var(--avon-gold-deep); text-decoration: underline; }

/* 1.10: Infoseite zu einem Anlass (Brunch, Charity …) */
.avon-stub__info-link { margin: 0.55rem 0 0; }
.avon-info-link { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.875rem; font-weight: 600; color: var(--avon-gold-deep); text-decoration: none; }
.avon-info-link .avon-info__text { text-decoration: underline; text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
.avon-info-link:hover .avon-info__text { text-decoration-thickness: 2px; }
.avon-pill--link { display: inline-flex; align-items: center; gap: 0.3rem; max-width: 100%; box-sizing: border-box; color: var(--avon-ink); text-decoration: none; border-color: var(--avon-gold) !important; cursor: pointer; }
.avon-pill--link .avon-info__text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.avon-pill--link .avon-info__icon { flex: 0 0 auto; }
.avon-pill--link:hover { background: var(--avon-gold); }
.avon-date__tag { min-width: 0; }
.avon-date__tag .avon-pill--link { max-width: 100%; }
/* Zeile mit Bezeichnung (oder Infolink): Datum und Zeit oben, die Bezeichnung darunter über die ganze Breite, Tickets rechts –
   so wird der Link nie abgeschnitten und nichts überlappt. */
.avon-termine .avon-date:has(.avon-date__tag > *) {
	display: grid !important;
	grid-template-columns: 11rem 6.5rem minmax(0, 1fr) auto;
	grid-template-areas: "day time . cta" "tag tag tag cta";
	align-items: center; column-gap: 1rem !important; row-gap: 0.35rem !important;
	padding: 0.8rem 0;
}
.avon-date:has(.avon-date__tag > *) > * { margin: 0 !important; }
.avon-date:has(.avon-date__tag > *) .avon-date__day { grid-area: day; }
.avon-date:has(.avon-date__tag > *) .avon-date__time { grid-area: time; }
.avon-date:has(.avon-date__tag > *) .avon-date__tag { grid-area: tag; }
.avon-date:has(.avon-date__tag > *) .avon-date__cta { grid-area: cta; justify-self: end; }
.avon-date__tag .avon-pill--link { display: inline-flex; overflow: visible; border-radius: 10px; padding: 0.3rem 0.6rem; }
.avon-date__tag .avon-pill--link .avon-info__text { white-space: normal; overflow: visible; line-height: 1.25; }
@media (max-width: 700px) {
	.avon-termine .avon-date:has(.avon-date__tag > *) { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "day day cta" "time time cta" "tag tag cta"; }
}
@media (max-width: 600px) {
	.avon-stub__cta .avon-soldout { font-size: 0.625rem; letter-spacing: 0.06em; padding: 0.45rem 0.55rem; }
}

.avon-date__tag .avon-pill:not(.avon-pill--link) { max-width: 100%; }
.avon-termine .avon-date__tag .avon-pill { font-size: 0.6875rem; letter-spacing: 0.08em; padding: 0.3rem 0.6rem; border-radius: 12px; border: 1px solid transparent; line-height: 1.25; }
.avon-termine .avon-date__tag .avon-pill--link { border-color: var(--avon-gold) !important; }

.avon-termine .avon-date__tag { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.9rem; }
.avon-termine .avon-date__tag .avon-info-link { font-size: 0.8125rem; }

/* ---------- 1.11: Über uns ---------- */
.avon-stats { gap: 1.5rem; margin-top: 2.5rem !important; }
.avon-stat { border-top: 3px solid var(--avon-ink); padding-top: 1rem; }
.avon-stat p { margin: 0; }
.avon-stat__value { font-family: var(--avon-serif); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 600; line-height: 1.1; color: var(--avon-ink); }
.avon-stat__label { margin-top: 0.35rem !important; color: var(--avon-muted); }
.avon-about-intro { margin-top: var(--avon-section) !important; gap: clamp(2rem, 5vw, 4rem) !important; align-items: flex-start; }
.avon-about-intro h2 { margin: 0.25rem 0 1.25rem; }
.avon-about-intro .wp-block-buttons { margin-top: 1.75rem; gap: 0.75rem; }
.avon-namecard { background: var(--avon-gold-soft); margin-top: 0 !important; }
.avon-namecard h3 { margin: 0.25rem 0 0.75rem; font-size: 1.6rem; }
.avon-board-head { margin-top: var(--avon-section) !important; margin-bottom: 1.75rem; }
.avon-board-head h2 { margin: 0.25rem 0 0; }
.avon-board { gap: 1rem; }
.avon-member {
	display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.25rem;
	background: var(--avon-card); border: 1px solid var(--avon-line); border-radius: 14px;
}
.avon-member > * { margin: 0 !important; }
.avon-member__avatar {
	flex: 0 0 auto; width: 3.25rem; height: 3.25rem; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	background: var(--avon-gold-soft); color: var(--avon-gold-deep); font-family: var(--avon-serif); font-weight: 700; font-size: 1.15rem; letter-spacing: 0.02em;
}
.avon-member__name { color: var(--avon-muted); line-height: 1.4; font-size: 0.95rem; }
.avon-member__name strong { color: var(--avon-ink); font-size: 1.05rem; }
.avon-cta {
	margin-top: var(--avon-section) !important; padding: clamp(2rem, 5vw, 3.25rem) clamp(1.5rem, 5vw, 3.5rem);
	background: var(--avon-ink); color: var(--avon-paper); border-radius: 20px;
}
.avon-cta h2 { color: var(--avon-paper); margin: 0 0 0.5rem; }
.avon-cta p { color: #CFC6B8; margin: 0 0 1.5rem; max-width: 36rem; }
.avon-cta .wp-block-buttons { gap: 0.75rem; }
.avon-cta .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--avon-paper); border-color: rgba(250, 246, 238, 0.6); }
.avon-cta .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--avon-paper); color: var(--avon-ink); border-color: var(--avon-paper); }
.avon-about-more { margin-top: 1.75rem !important; }

/* ---------- 1.11: Statuten ---------- */
.avon-doc {
	gap: 1.25rem 1.5rem !important; margin-top: 2rem !important; padding: 1.5rem 1.75rem;
	background: var(--avon-card); border: 1px solid var(--avon-line); border-radius: 16px;
}
.avon-doc > * { margin: 0 !important; }
.avon-doc__icon {
	position: relative; flex: 0 0 auto; width: 3.4rem; height: 4.2rem; border-radius: 6px 14px 6px 6px;
	display: flex; align-items: flex-end; justify-content: center; padding-bottom: 0.55rem; box-sizing: border-box;
	background: var(--avon-gold-soft); color: var(--avon-gold-deep); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em;
}
.avon-doc__icon::before { content: ""; position: absolute; top: 0.9rem; left: 0.75rem; right: 0.75rem; height: 1.3rem; background: repeating-linear-gradient(var(--avon-gold) 0 2px, transparent 2px 6px); opacity: 0.5; }
.avon-doc__body { flex: 1 1 16rem; }
.avon-doc__body > * { margin: 0 !important; }
.avon-doc__title { font-size: 1.5rem; }
.avon-doc__meta { margin-top: 0.3rem !important; color: var(--avon-muted); }
.avon-doc__actions { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.avon-doc__actions a {
	display: inline-block; padding: 0.75rem 1.25rem; border-radius: 10px; font-weight: 700; text-decoration: none; line-height: 1.2;
	border: 1.5px solid var(--avon-ink); color: var(--avon-ink);
}
.avon-doc__actions a.avon-doc__open { background: var(--avon-gold); border-color: var(--avon-gold); }
.avon-doc__actions a:hover { background: var(--avon-ink); border-color: var(--avon-ink); color: var(--avon-paper); }
.avon-doc__older { margin-top: 0.9rem !important; }
.avon-linkcards { gap: 1.25rem; }
.avon-linkcard {
	display: flex; flex-direction: column; padding: 1.5rem; background: var(--avon-card); border: 1px solid var(--avon-line); border-radius: 14px;
}
.avon-linkcard > * { margin: 0 !important; }
.avon-linkcard h3 { font-size: 1.45rem; margin: 0.3rem 0 0.4rem !important; }
.avon-linkcard h3 a { color: var(--avon-ink); text-decoration: none; }
.avon-linkcard h3 a:hover { color: var(--avon-gold-deep); }
.avon-linkcard p:not(.avon-eyebrow):not(.avon-card__link) { color: var(--avon-ink-soft); }
.avon-linkcard .avon-card__link { margin-top: auto !important; padding-top: 1rem; }
@media (max-width: 781px) {
	.avon-doc__actions { width: 100%; }
}
.avon-page--breit > .wp-block-post-title { font-size: var(--wp--preset--font-size--x-large); }
.avon-page--breit .wp-block-post-content > * + * { margin-block-start: 1.5rem; }
@media (min-width: 782px) {
	.avon-stats { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
.avon-page--breit .avon-lead { max-width: 46rem !important; }
.avon-linkcard .avon-eyebrow { overflow-wrap: anywhere; }
@media (min-width: 1000px) {
	.avon-linkcards { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

/* ---------- 1.12: Sponsoren (nach Kategorie) ---------- */
.avon-sponsoren {
	padding: var(--avon-section) var(--wp--style--root--padding-right, 1.5rem) var(--avon-section) var(--wp--style--root--padding-left, 1.5rem);
	border-top: 1px solid var(--avon-line);
}
.avon-sponsoren__inner { max-width: var(--wp--style--global--wide-size, 1280px); margin: 0 auto; }
.avon-sponsoren .avon-section-head h2 { margin: 0.25rem 0 0; }
.avon-sponsor-tier + .avon-sponsor-tier { margin-top: 2.5rem; }
.avon-sponsor-tier__name {
	display: flex; align-items: center; gap: 1rem; margin: 0 0 1rem; font-family: inherit;
	font-size: 0.75rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--avon-gold-deep);
}
.avon-sponsor-tier__name::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--avon-line); }
.avon-sponsor-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.avon-sponsor-grid li { margin: 0; }
.avon-sponsor {
	display: flex; align-items: center; justify-content: center; height: 100%; box-sizing: border-box; text-align: center;
	background: var(--avon-card); border: 1px solid var(--avon-line); border-radius: 14px; color: var(--avon-ink); text-decoration: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
a.avon-sponsor:hover { border-color: var(--avon-gold); box-shadow: 0 6px 18px rgba(28, 25, 23, 0.08); transform: translateY(-2px); }
.avon-sponsor img { display: block; max-width: 100%; object-fit: contain; }
.avon-sponsor__name { font-family: var(--avon-serif); font-weight: 600; line-height: 1.2; }
/* Legend: gross */
.avon-sponsor-tier--legend .avon-sponsor-grid { grid-template-columns: repeat(auto-fill, minmax(min(15rem, 100%), 1fr)); }
.avon-sponsor-tier--legend .avon-sponsor { min-height: 8.5rem; padding: 1.5rem; }
.avon-sponsor-tier--legend .avon-sponsor img { max-height: 5rem; }
.avon-sponsor-tier--legend .avon-sponsor__name { font-size: 1.5rem; }
/* Hero: mittel */
.avon-sponsor-tier--hero .avon-sponsor-grid { grid-template-columns: repeat(auto-fill, minmax(min(11.5rem, 100%), 1fr)); }
.avon-sponsor-tier--hero .avon-sponsor { min-height: 6.25rem; padding: 1.1rem; }
.avon-sponsor-tier--hero .avon-sponsor img { max-height: 3.5rem; }
.avon-sponsor-tier--hero .avon-sponsor__name { font-size: 1.15rem; }
/* Culture: klein */
.avon-sponsor-tier--culture .avon-sponsor-grid { grid-template-columns: repeat(auto-fill, minmax(min(9rem, 100%), 1fr)); gap: 0.75rem; }
.avon-sponsor-tier--culture .avon-sponsor { min-height: 4.5rem; padding: 0.8rem; border-radius: 10px; }
.avon-sponsor-tier--culture .avon-sponsor img { max-height: 2.4rem; }
.avon-sponsor-tier--culture .avon-sponsor__name { font-size: 0.95rem; }
.avon-sponsoren__more { margin: 2.25rem 0 0; color: var(--avon-muted); }
.avon-sponsoren__more a { color: var(--avon-ink); font-weight: 600; }
@media (max-width: 600px) {
	.avon-sponsor-tier--legend .avon-sponsor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.avon-sponsor-tier--legend .avon-sponsor { min-height: 6.5rem; padding: 1rem; }
	.avon-sponsor-tier--legend .avon-sponsor__name { font-size: 1.15rem; }
	.avon-sponsor-tier--hero .avon-sponsor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.avon-sponsor-tier--culture .avon-sponsor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.avon-sponsor-tier--culture .avon-sponsor__name { font-size: 0.8rem; }
}
.avon-person__img { margin: 0; }
.avon-person .wp-block-image img { width: 100%; height: auto; object-position: center top; background: #fff; }
@media (max-width: 600px) {
	.avon-cast { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1.25rem 1rem !important; }
	.avon-person__name strong { font-size: 1rem; }
	.avon-person__name { font-size: 0.9rem; }
}
/* 1.13.1: Logos grösser (Rand wird automatisch abgeschnitten) */
.avon-sponsor img { width: auto; height: auto; max-width: 100%; }
.avon-sponsor-tier--legend .avon-sponsor img { max-height: 5.5rem; }
.avon-sponsor-tier--hero .avon-sponsor img { max-height: 4rem; }
.avon-sponsor-tier--culture .avon-sponsor img { max-height: 2.75rem; }
.avon-sponsor { background: #fff; }

/* ---------- 1.14: Ensemble aus der Produktion ---------- */
.avon-ensemble { padding-left: var(--wp--style--root--padding-left, 1.5rem); padding-right: var(--wp--style--root--padding-right, 1.5rem); }
.avon-ensemble__inner { max-width: var(--wp--style--global--wide-size, 1280px); margin: 0 auto; }
ul.avon-cast { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(12rem, 100%), 1fr)); gap: 2rem 1.5rem; }
ul.avon-cast li.avon-person { margin: 0; }
.avon-person__img { margin: 0; aspect-ratio: 4 / 5; border-radius: 12px; overflow: hidden; background: #fff; }
.avon-person__img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.avon-person__img.is-empty { display: flex; align-items: center; justify-content: center; background: #E9DFCB; }
.avon-person__img.is-empty span { font-family: var(--avon-serif); font-size: 2.6rem; font-weight: 600; color: var(--avon-gold-deep); letter-spacing: 0.04em; }
dl.avon-team { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(14rem, 100%), 1fr)); gap: 2rem 1.5rem; margin: 3rem 0 0; padding-top: 2.5rem; border-top: 1px solid var(--avon-line); }
.avon-team__item { margin: 0; }
.avon-team__item dt { margin: 0 0 0.3rem; }
.avon-team__item dd { margin: 0; line-height: 1.5; }
@media (max-width: 600px) {
	ul.avon-cast { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1rem; }
	dl.avon-team { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1rem; }
}

/* Automatische Stück-Blöcke (inc/stueckseite.php): Raster ohne vom Editor erzeugte Layout-Klassen. */
.avon-poster-missing {
	display: grid; place-items: center; margin: 0;
	aspect-ratio: 16 / 9; border-radius: 8px;
	border: 2px dashed color-mix(in srgb, currentColor 35%, transparent);
	font-family: var(--avon-serif); font-style: italic; font-size: 1.4rem; opacity: 0.75;
}

/* Eckdaten-Leiste: freistehender Kasten (Rahmen und Rundung rundum, auf allen Bildschirmen gleich).
   Computer (ab 960 px): alle Felder in einer Zeile, gleich breit (2 Felder = 2 Hälften, 5 Felder = 5 Fünftel).
   Mittlere Breite (782–959 px): zwei ausgeglichene Zeilen (5 Felder = 3 + 2, 4 Felder = 2 + 2, bis 3 Felder eine Zeile),
   jede Zeile füllt die volle Breite – nie ein einzelnes Feld allein in der zweiten Zeile. Handy: untereinander.
   Trennlinien sind Schatten links und oben an jedem Feld; am Kastenrand werden sie abgeschnitten, darum gibt es
   nie doppelte Linien. Linienfarbe und -stärke pro Bühnenbild über --fl und --fw. */
.avon-facts-bar.avon-facts-bar {
	--fl: var(--avon-line); --fw: 1px;
	display: flex; flex-wrap: wrap; gap: 0; grid-template-columns: none; overflow: hidden;
	border: 1px solid var(--avon-line); border-radius: 16px;
}
.avon-facts-bar.avon-facts-bar > p {
	flex: 1 1 0; min-width: 0; margin: 0; box-sizing: border-box;
	border: 0 !important;
	box-shadow: calc(-1 * var(--fw)) 0 0 0 var(--fl), 0 calc(-1 * var(--fw)) 0 0 var(--fl);
}
.avon-facts-bar strong, .avon-facts-bar .avon-label { overflow-wrap: break-word; hyphens: auto; -webkit-hyphens: auto; }
.avon-look--galapremiere .avon-facts-bar.avon-facts-bar { --fl: var(--g-border); border: 1px solid var(--g-border); }
.avon-look--nachtvorstellung .avon-facts-bar.avon-facts-bar { border-color: #2C2623; }
.avon-look--stummfilm .avon-facts-bar.avon-facts-bar { --fl: var(--sf-black); border: 2px solid var(--sf-black); }
.avon-look--litfass .avon-facts-bar.avon-facts-bar { --fl: var(--lf-ink); --fw: 3px; border: var(--lf-b); }
.avon-look--litfass .avon-facts-bar.avon-facts-bar strong { font-size: 1.2rem; }
.avon-look--programmheft .avon-facts-bar.avon-facts-bar { border: 0; border-top: 2px solid var(--pr-rule); border-bottom: 1px solid var(--pr-rule); }
.avon-look--programmheft .avon-facts-bar.avon-facts-bar > p,
.avon-look--programmheft .avon-facts-bar.avon-facts-bar > p + p { padding-left: 1.25rem; }
@media (min-width: 782px) and (max-width: 959px) {
	.avon-facts-bar.avon-facts-bar > p { flex-basis: 30%; }
	.avon-facts-bar.avon-facts-bar > p:first-child:nth-last-child(4),
	.avon-facts-bar.avon-facts-bar > p:first-child:nth-last-child(4) ~ p { flex-basis: 45%; }
	.avon-facts-bar.avon-facts-bar > p:first-child:nth-last-child(-n+3),
	.avon-facts-bar.avon-facts-bar > p:first-child:nth-last-child(-n+3) ~ p { flex-basis: 0; }
}
@media (max-width: 781px) {
	/* Handy: Felder untereinander. */
	.avon-facts-bar.avon-facts-bar > p { flex-basis: 100%; }
	.avon-look--programmheft .avon-facts-bar.avon-facts-bar > p,
	.avon-look--programmheft .avon-facts-bar.avon-facts-bar > p + p { padding-left: 0; }
}

/* ---------- Galerie der Produktion (inc/galerie.php) ---------- */
/* Bilder füllen jede Zeile bis zum Rand (auch die letzte), gleiche Höhe, Ausschnitt mittig. */
.avon-galerie__grid { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.avon-galerie__item { margin: 0; flex: 1 1 15rem; height: clamp(170px, 19vw, 260px); }
.avon-galerie__link { display: block; height: 100%; overflow: hidden; border-radius: 12px; background: var(--avon-gold-soft); outline-offset: 3px; }
.avon-galerie__link img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.avon-galerie__link:hover img, .avon-galerie__link:focus-visible img { transform: scale(1.04); }
.avon-galerie__link:focus-visible { outline: 2px solid var(--avon-gold); }
@media (max-width: 781px) { .avon-galerie__grid { gap: 8px; } .avon-galerie__item { flex-basis: 40%; height: 150px; } }
.avon-lightbox { max-width: none; max-height: none; width: 100vw; height: 100dvh; margin: 0; padding: 0; border: 0; background: #0A0909; color: #fff; }
.avon-lightbox::backdrop { background: rgba(10, 9, 9, 0.6); }
.avon-lightbox[open] { display: grid; place-items: center; }
.avon-lightbox__fig { margin: 0; display: grid; justify-items: center; gap: 0.75rem; padding: 3.5rem 4.5rem; }
.avon-lightbox__img { max-width: calc(100vw - 9rem); max-height: calc(100dvh - 9rem); width: auto; height: auto; border-radius: 8px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5); }
.avon-lightbox__cap { font-size: 0.95rem; opacity: 0.85; text-align: center; max-width: 60ch; }
.avon-lightbox__btn { position: fixed; border: 0; background: rgba(255, 255, 255, 0.1); color: #fff; width: 48px; height: 48px; border-radius: 50%; font-size: 1.8rem; line-height: 1; cursor: pointer; display: grid; place-items: center; }
.avon-lightbox__btn:hover, .avon-lightbox__btn:focus-visible { background: var(--avon-gold); color: var(--avon-ink); outline: none; }
.avon-lightbox__close { top: 1rem; right: 1rem; }
.avon-lightbox__prev { left: 1rem; top: 50%; transform: translateY(-50%); }
.avon-lightbox__next { right: 1rem; top: 50%; transform: translateY(-50%); }
.avon-lightbox.is-single .avon-lightbox__prev, .avon-lightbox.is-single .avon-lightbox__next, .avon-lightbox.is-single .avon-lightbox__count { display: none; }
.avon-lightbox__count { position: fixed; bottom: 1rem; left: 50%; transform: translateX(-50%); margin: 0; font-size: 0.85rem; opacity: 0.7; }
@media (max-width: 781px) {
	.avon-lightbox__fig { padding: 3.5rem 0.75rem; }
	.avon-lightbox__img { max-width: calc(100vw - 1.5rem); }
	.avon-lightbox__prev, .avon-lightbox__next { top: auto; bottom: 0.75rem; transform: none; }
}
/* Bühnenbilder mit eckigen Formen */
.avon-look--litfass .avon-galerie__link { border-radius: 0; border: var(--lf-b, 3px solid #111); box-shadow: var(--lf-shadow, none); }
.avon-look--stummfilm .avon-galerie__link, .avon-look--programmheft .avon-galerie__link { border-radius: 0; }

/* ---------- Mitglied werden: Einleitung neben dem Formular, darunter Mitgliederarten und Ablauf ---------- */
.avon-join { gap: clamp(2rem, 5vw, 4.5rem) !important; align-items: flex-start !important; margin-top: 0.5rem !important; }
.avon-join__intro { position: sticky; top: 7rem; }
.avon-join__intro .avon-lead { margin-top: 0; }
.avon-join__form {
	background: var(--avon-card); border: 1px solid var(--avon-line); border-radius: 20px;
	padding: clamp(1.25rem, 3vw, 2.25rem); box-shadow: 0 30px 60px -36px rgba(28, 25, 23, 0.4);
}
.avon-join__form > h2 { margin: 0.25rem 0 0.5rem; font-size: clamp(1.6rem, 2.6vw, 2rem); }
.avon-join__form > p:not(.avon-eyebrow) { color: var(--avon-muted); margin-top: 0; }
.avon-join__quick { list-style: none; padding: 0; margin: 1.5rem 0; border-top: 1px solid var(--avon-line); }
.avon-join__quick li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.75rem 0; border-bottom: 1px solid var(--avon-line); }
.avon-join__quick li strong { font-family: var(--avon-serif); font-size: 1.15rem; font-weight: 600; }
.avon-join__quick li span { color: var(--avon-muted); white-space: nowrap; }
.avon-join__more a { font-weight: 600; }

.avon-join-info { margin-top: var(--avon-section) !important; gap: clamp(2rem, 5vw, 4.5rem) !important; align-items: flex-start !important; }
.avon-join-info .avon-section-head { margin-bottom: 1.5rem; }
.avon-join-info .avon-section-head h2 { margin: 0.25rem 0 0; }

.avon-tier { background: var(--avon-card); border: 1px solid var(--avon-line); border-radius: 16px; padding: 1.4rem 1.6rem 1.1rem; }
.avon-tier + .avon-tier { margin-top: 1rem !important; }
.avon-tier--feature { border-color: var(--avon-gold); box-shadow: inset 4px 0 0 var(--avon-gold); }
.avon-tier__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.avon-tier__head h3 { margin: 0; font-size: 1.45rem; }
.avon-tier__price { margin: 0 !important; font-weight: 700; font-size: 0.875rem; white-space: nowrap; background: var(--avon-gold-soft); border-radius: 999px; padding: 0.3rem 0.8rem; }
.avon-tier > p:not(.avon-tier__price) { color: var(--avon-ink-soft); margin: 0.6rem 0 0.75rem; }
.avon-checks { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.35rem; align-content: start; }
.avon-checks li { position: relative; padding-left: 1.6rem; font-size: 0.95rem; }
.avon-checks li::before { content: "✓"; position: absolute; left: 0; top: 0; font-weight: 700; color: var(--avon-gold-deep); }
.avon-checks li.is-no { color: var(--avon-muted); }
.avon-checks li.is-no::before { content: "–"; color: var(--avon-muted); }

.avon-steps { list-style: none; padding: 0; margin: 0; counter-reset: avon-step; }
.avon-steps li { position: relative; padding: 0 0 2rem 3.6rem; counter-increment: avon-step; color: var(--avon-ink-soft); }
.avon-steps li::before {
	content: counter(avon-step); position: absolute; left: 0; top: -0.2rem; width: 2.5rem; height: 2.5rem; border-radius: 50%;
	display: grid; place-items: center; background: var(--avon-gold); color: var(--avon-on-accent, var(--avon-ink));
	font-family: var(--avon-serif); font-weight: 700; font-size: 1.15rem;
}
.avon-steps li::after { content: ""; position: absolute; left: calc(1.25rem - 1px); top: 2.6rem; bottom: 0.35rem; width: 2px; background: var(--avon-line); }
.avon-steps li:last-child { padding-bottom: 0; }
.avon-steps li:last-child::after { display: none; }
.avon-steps li strong { display: block; color: var(--avon-ink); font-family: var(--avon-serif); font-size: 1.3rem; font-weight: 600; margin-bottom: 0.2rem; }
.avon-join-info .avon-aside { margin-top: 2rem; }

@media (max-width: 781px) {
	.avon-join__intro { position: static; }
	.avon-join__quick { margin: 1rem 0; }
}

/* ---------- Sponsoring: Pakete nebeneinander, gleich hoch ---------- */
.avon-packages { margin-top: var(--avon-section) !important; }
.avon-packages > .wp-block-columns { gap: 1.25rem !important; align-items: stretch !important; margin-top: 1.5rem; }
.avon-packages .wp-block-column { display: flex; }
.avon-packages .avon-tier { display: flex; flex-direction: column; width: 100%; box-sizing: border-box; padding: 1.6rem 1.6rem 1.4rem; }
.avon-packages .avon-tier .avon-checks { margin-bottom: 1.25rem; }
.avon-packages .avon-tier .wp-block-buttons { margin-top: auto; }
.avon-packages .avon-tier .avon-eyebrow { margin: 0 0 0.35rem; }
.avon-packages .avon-tier h3 { font-size: 1.6rem; }
.avon-tier__claim { font-family: var(--avon-serif); font-style: italic; font-size: 1.1rem; color: var(--avon-ink) !important; }
.avon-packages__note { margin-top: 1.25rem !important; color: var(--avon-muted); }
.avon-join-info .avon-stats { margin-top: 0 !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.avon-reach { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
.avon-reach li { background: var(--avon-card); border: 1px solid var(--avon-line); border-radius: 14px; padding: 1rem 1.2rem; color: var(--avon-ink-soft); }
.avon-reach li strong { display: block; color: var(--avon-ink); font-family: var(--avon-serif); font-size: 1.2rem; font-weight: 600; margin-bottom: 0.15rem; }

/* Pakete: Preis oben rechts neben «Sponsor»; auf Desktop liegen Name, Text, Liste und Knopf aller Pakete auf gleicher Höhe. */
.avon-tier__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.avon-tier__top .avon-eyebrow { margin: 0 !important; }
.avon-packages .avon-tier > h3 { margin: 0.6rem 0 0; }
.avon-packages .avon-tier > .avon-tier__claim { margin: 0.5rem 0 1rem; }
@media (min-width: 782px) {
	.avon-packages .avon-packages__grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 1.25rem; row-gap: 0; }
	.avon-packages .avon-packages__grid > .wp-block-column { display: contents; }
	.avon-packages .avon-packages__grid .avon-tier { grid-row: span 5; display: grid; grid-template-rows: subgrid; row-gap: 0; align-content: start; }
	.avon-packages .avon-packages__grid .avon-tier > .wp-block-buttons { align-self: end; }
}

/* Sponsoring: die beiden Kästen unten gleich hoch (Desktop). */
.avon-sp-outro { align-items: stretch !important; }
.avon-sp-outro > .wp-block-column { display: flex; }
.avon-sp-outro .avon-aside { width: 100%; box-sizing: border-box; margin-top: 0 !important; }

/* Helfer:in werden: Bereiche als Kacheln */
.avon-reach--grid { grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); }
.avon-reach--grid li { padding: 1rem 1.15rem; }
.avon-reach--grid li strong { font-size: 1.1rem; }
@media (max-width: 781px) {
	.avon-reach--grid { gap: 0.6rem; }
	.avon-reach--grid li { padding: 0.75rem 1rem; font-size: 0.95rem; line-height: 1.45; }
}

/* Helfer:in: Symbole in der Akzentfarbe (Klasse avon-ico--… am Listeneintrag) */
.avon-ico--schauspiel { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4c3 1.2 11 1.2 14 0v6.5a7 7 0 0 1-14 0z M8.5 9.5h2 M13.5 9.5h2 M9 13.5c1.6 1.6 4.4 1.6 6 0'/%3E%3C/svg%3E"); }
.avon-ico--gastro { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h10l-.6 5a4.4 4.4 0 0 1-8.8 0z M7.4 6.5h9.2 M12 12.5V20 M8.5 20h7'/%3E%3C/svg%3E"); }
.avon-ico--kueche { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17h10v3H7z M7 17v-4.2A3.6 3.6 0 0 1 8.2 6a4 4 0 0 1 7.6 0A3.6 3.6 0 0 1 17 12.8V17 M10 17v-3 M14 17v-3'/%3E%3C/svg%3E"); }
.avon-ico--kasse { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h18v3a2 2 0 0 0 0 4v3H3v-3a2 2 0 0 0 0-4z M15 7v2 M15 11v2 M15 15v2'/%3E%3C/svg%3E"); }
.avon-ico--regie { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 3.5h7v3h-7z M8.5 5H5.5v15.5h13V5h-3 M8.5 11h7 M8.5 14.5h7 M8.5 18h4'/%3E%3C/svg%3E"); }
.avon-ico--kostuem { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 7.5a2 2 0 1 1 2-2 M12 7.5V9l-8.4 6.4a1 1 0 0 0 .6 1.8h15.6a1 1 0 0 0 .6-1.8L12 9'/%3E%3C/svg%3E"); }
.avon-ico--buehnenbau { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 4.5l6.5 6.5-2.6 2.6-6.5-6.5z M12.2 9.8 4.6 17.4a1.5 1.5 0 0 0 2.1 2.1l7.6-7.6'/%3E%3C/svg%3E"); }
.avon-ico--technik { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6 M10 21h4 M12 3a6 6 0 0 0-3.5 10.9c.6.5 1 1.2 1 2V16h5v-.1c0-.8.4-1.5 1-2A6 6 0 0 0 12 3z'/%3E%3C/svg%3E"); }
.avon-ico--requisiten { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8 12 4l8.5 4v8L12 20l-8.5-4z M3.5 8 12 12l8.5-4 M12 12v8'/%3E%3C/svg%3E"); }
.avon-ico--leitung { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16v14H4z M4 10h16 M8 3v4 M16 3v4 M8 14h3 M13 14h3 M8 17h3'/%3E%3C/svg%3E"); }
.avon-ico--marketing { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10v4h3l8 4V6L7 10z M18.5 9.5a3.2 3.2 0 0 1 0 5 M7 14l1.6 5.5h2.4L10 15.5'/%3E%3C/svg%3E"); }
.avon-ico--anderes { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8z M18.5 15.5l.7 1.8 1.8.7-1.8.7-.7 1.8-.7-1.8-1.8-.7 1.8-.7z'/%3E%3C/svg%3E"); }
.avon-reach li[class*="avon-ico--"] { position: relative; padding-left: 4.4rem; min-height: 2.75rem; }
.avon-reach li[class*="avon-ico--"]::before {
	content: ""; position: absolute; left: 1.05rem; top: 1rem; width: 2.6rem; height: 2.6rem; border-radius: 50%;
	background: var(--avon-gold-soft);
}
.avon-reach li[class*="avon-ico--"]::after {
	content: ""; position: absolute; left: 1.55rem; top: 1.5rem; width: 1.6rem; height: 1.6rem;
	background: var(--avon-gold-deep);
	-webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat;
}
.avon-reach li[class*="avon-ico--"]:hover::before { background: var(--avon-gold); }
.avon-reach li[class*="avon-ico--"]:hover::after { background: var(--avon-on-accent, var(--avon-ink)); }
@media (max-width: 781px) {
	.avon-reach li[class*="avon-ico--"] { padding-left: 4rem; }
	.avon-reach li[class*="avon-ico--"]::before { left: 0.85rem; top: 0.8rem; width: 2.3rem; height: 2.3rem; }
	.avon-reach li[class*="avon-ico--"]::after { left: 1.27rem; top: 1.22rem; width: 1.45rem; height: 1.45rem; }
}

/* Formulare: Hinweise, Zwischentitel, einzelnes Häkchen */
.avon-field__help { color: var(--avon-muted); font-size: 0.85rem; line-height: 1.4; }
.avon-form__heading { margin: 0.75rem 0 0; font-size: 1.25rem; }
.avon-check { font-weight: 400 !important; display: flex; gap: 0.6rem; align-items: flex-start; }
.avon-check input { width: 1.15rem; height: 1.15rem; margin-top: 0.2rem; accent-color: var(--avon-ink); }
