/**
 * Per-CPT styles for the `event_request` post type (Auf Anfrage).
 *
 * Loaded conditionally by functions.php on:
 *   - the event_request archive (is_post_type_archive('event_request'))
 *   - the event_request single (is_singular('event_request'))
 *
 * Depends on `oa-global` for tokens; same convention as event.css.
 *
 * Blocks:
 *   .oa-event-request-card     archive listing card extensions
 *                              (shared .oa-card baseline + .oa-archive
 *                              page-level scaffolding live in archive-shared.css)
 *   .oa-event-request-single   detail page (hero, body, sidebar CTA)
 *
 * The cross-promo / contact CTA band visual is the shared .oa-cta-band
 * primitive in archive-shared.css (template-parts/cta-band.php).
 */

/* Archive container, hero, list grid, and item moved to
 * assets/css/archive-shared.css under the .oa-archive* primitives.
 * Filter bar, status row, filter chips, empty state, and pagination
 * also live there under the .oa-archive-* primitives. archive-event_request.php
 * points at the shared sheet. */

/* ============================================================
 * Listing card extensions
 *
 * The shared C2 baseline (.oa-card + __media/__badges/__image/__body/
 * __title/__excerpt/__footer/__chips/__cta, stretched cover-link, badge
 * shape + link states, hover/focus states) lives in archive-shared.css
 * (#132). Event_request cards layer the "Auf Anfrage" eyebrow on top —
 * the meta anchor in the slot where the event card has its date rail,
 * sharing the rail's tint + rounded-rect shape so the two archives rhyme.
 * ============================================================ */

.oa-event-request-section-shortcode {
	max-width: 100%;
	color: var(--oa-body-color);
	font-family: var(--oa-font-body);
	line-height: var(--oa-lh-body);
}

.oa-event-request-section-shortcode__title {
	margin: 0 0 var(--oa-space-5);
	color: var(--oa-heading-color);
	font-family: var(--oa-font-heading);
	font-size: var(--oa-size-h2);
	line-height: var(--oa-lh-heading);
}

.oa-event-request-section-shortcode__empty {
	margin: 0;
	color: var(--oa-color-neutral-700);
	font-size: var(--oa-size-text-small);
}

.oa-event-request-card__eyebrow {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	margin: 0;
	padding: var(--oa-space-2) var(--oa-space-3);
	background: var(--oa-bg-primary-tint);
	color: var(--oa-color-primary-800);
	border-radius: var(--oa-rounded-lg);
	font-size: var(--oa-size-eyebrow);
	/* Reset the inherited body line-height (~2.1) to a single tight line so the
	   uppercase label is the pill's only vertical metric and sits centered. */
	line-height: 1;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

/* The eyebrow is a <p>, so archive-shared.css's `.oa-card__body p {
   padding-bottom: 0 }` (a neutralizer for Divi's injected `p` padding) clobbers
   this pill's shorthand bottom padding — it renders bottom-flush and the label
   looks high/off-center. Restore the symmetric bottom value. Equal specificity
   to the neutralizer, but this sheet loads after archive-shared (dependency),
   so source order wins. */
.oa-card__body p.oa-event-request-card__eyebrow {
	padding-bottom: var(--oa-space-2);
}

/* Cross-promo band on /event/ (and the contact CTA on /event-anfrage/) moved
 * to the shared .oa-cta-band primitive in archive-shared.css — both archives
 * load that sheet. Markup: template-parts/cta-band.php. */

/* ============================================================
 * Single page
 *
 * Outer page scaffold (.oa-single page bg + body type), two-column
 * layout (.oa-single__layout), and detail-section card chrome
 * (.oa-section, .oa-section__title) live in single-shared.css. This
 * file keeps only event_request-specific rules: hero (full-bleed
 * subtle band + breadcrumb + eyebrow + title + badges), media,
 * sidebar cta-card chrome, persons/standorte sidebar sections.
 * ============================================================ */

.oa-event-request-single__hero {
	background: var(--oa-bg-subtle);
	padding: var(--oa-space-page-y) var(--oa-space-gutter) var(--oa-space-12);
}

.oa-event-request-single__hero-inner {
	max-width: var(--oa-content-wide);
	margin-inline: auto;
}

.oa-event-request-single__hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--oa-space-6);
}

.oa-event-request-single__hero-body {
	min-width: 0;
}

@media (min-width: 1024px) {
	.oa-event-request-single__hero-grid--has-media {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: var(--oa-space-8);
		align-items: center;
	}
}

/* Hero eyebrow + sidebar eyebrow now consume .oa-eyebrow from
 * archive-shared.css (default --prelude paint for the hero, --heading
 * modifier for the sidebar). H1 typography lives on .oa-single__title
 * in single-shared.css. */

.oa-event-request-single__taxonomies {
	display: grid;
	gap: var(--oa-space-2);
	margin: 0;
}

.oa-event-request-single__taxonomy-group {
	display: flex;
	align-items: flex-start;
	gap: var(--oa-space-3);
}

.oa-event-request-single__taxonomy-group dt {
	flex: 0 1 auto;
	min-width: 5.5rem;
	padding-block: var(--oa-space-1);
	color: var(--oa-color-neutral-600);
	font-size: var(--oa-size-eyebrow);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.02em;
	overflow-wrap: anywhere;
	text-transform: uppercase;
}

.oa-event-request-single__taxonomy-group dd {
	display: flex;
	flex-wrap: wrap;
	gap: var(--oa-space-2);
	min-width: 0;
	margin: 0;
}

.oa-event-request-single__excerpt {
	max-width: 42rem;
	margin: 0 0 var(--oa-space-5);
	color: var(--oa-color-neutral-700);
	font-size: var(--oa-size-intro-lead);
	line-height: var(--oa-lh-normal);
}

.oa-event-request-single__hero-action {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--oa-space-3);
	margin-top: var(--oa-space-6);
	padding-top: var(--oa-space-5);
	border-top: 1px solid var(--oa-color-neutral-200);
}

.oa-event-request-single__hero-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--oa-space-2);
	margin: 0;
}

.oa-event-request-single__hero-meta-item {
	display: inline-flex;
	align-items: center;
	gap: var(--oa-space-2);
	padding: var(--oa-space-2) var(--oa-space-3);
	border: 1px solid var(--oa-color-neutral-200);
	border-radius: var(--oa-rounded-lg);
	background: var(--oa-bg-base);
}

.oa-event-request-single__hero-meta-item dt {
	display: inline-flex;
	align-items: center;
	gap: var(--oa-space-2);
	margin: 0;
	color: var(--oa-color-primary-700);
	font-size: var(--oa-size-eyebrow);
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.oa-event-request-single__hero-meta-item dd {
	margin: 0;
	color: var(--oa-color-neutral-800);
	font-size: var(--oa-size-text-small);
	font-weight: 600;
	line-height: 1.3;
}

.oa-event-request-single__hero-cta {
	display: grid;
	justify-self: start;
	justify-items: start;
	gap: var(--oa-space-2);
}

.oa-event-request-single__inner {
	width: calc(100% - var(--oa-space-gutter) - var(--oa-space-gutter));
	max-width: var(--oa-content-wide);
	margin-inline: auto;
	padding-block: var(--oa-space-10) var(--oa-space-section-y);
}

.oa-event-request-single__media {
	min-width: 0;
	width: 100%;
	margin: 0;
	aspect-ratio: var(--oa-aspect-hero);
	overflow: hidden;
	border-radius: var(--oa-rounded-2xl);
	background: var(--oa-color-neutral-100);
}

.oa-event-request-single__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Two-column layout (.oa-single__layout) lives in single-shared.css. */

.oa-event-request-single__layout--single {
	grid-template-columns: minmax(0, 52rem);
	justify-content: center;
}

.oa-event-request-single__body {
	display: grid;
	align-content: start;
	gap: var(--oa-space-6);
}

/* Description rich text renders via the shared .oa-single__description-body
 * primitive (single-shared.css), matching scheduled event descriptions. */

/* Section title typography (.oa-section__title) lives in single-shared.css. */

.oa-event-request-single__gallery-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
	gap: var(--oa-space-3);
}

.oa-event-request-single__gallery-item {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: var(--oa-rounded-lg);
	background: var(--oa-color-neutral-100);
}

.oa-event-request-single__gallery-link {
	display: block;
	width: 100%;
	height: 100%;
	color: inherit;
	cursor: zoom-in;
}

.oa-event-request-single__gallery-link:focus-visible {
	outline: 3px solid var(--oa-color-neutral-900);
	outline-offset: -3px;
}

.oa-event-request-single__gallery-image {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: var(--oa-rounded-lg);
	transition: transform 0.2s ease;
}

.oa-event-request-single__gallery-link:hover .oa-event-request-single__gallery-image,
.oa-event-request-single__gallery-link:focus-visible .oa-event-request-single__gallery-image {
	transform: scale(1.03);
}

.oa-event-request-single__sidebar {
	display: flex;
	flex-direction: column;
	gap: var(--oa-space-5);
}

/* Related people and locations use the shared sidebar-card surface. */
.oa-event-request-single__people,
.oa-event-request-single__standorte {
	--oa-sidebar-card-bg: var(--oa-bg-base);
	--oa-sidebar-card-radius: var(--oa-rounded-xl);
}

.oa-event-request-single__cta-button {
	width: fit-content;
	padding: var(--oa-space-3) var(--oa-space-5);
	white-space: nowrap;
}

@media (max-width: 639px) {
	.oa-event-request-single__taxonomy-group {
		display: grid;
		gap: var(--oa-space-1);
	}

	.oa-event-request-single__taxonomy-group dt {
		padding-block: 0;
	}

	.oa-event-request-single__hero-action,
	.oa-event-request-single__hero-cta {
		min-width: 0;
		width: 100%;
	}

	.oa-event-request-single__hero-cta {
		justify-self: stretch;
	}

	.oa-event-request-single__hero-meta {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
	}

	.oa-event-request-single__hero-meta-item {
		min-width: 0;
		width: 100%;
		box-sizing: border-box;
	}

	.oa-event-request-single__cta-button {
		width: 100%;
		box-sizing: border-box;
		justify-content: center;
	}
}

.oa-event-request-single__people-list,
.oa-event-request-single__standorte-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--oa-space-3);
}

.oa-event-request-single__people-link {
	display: flex;
	align-items: center;
	gap: var(--oa-space-3);
	color: inherit;
	text-decoration: none;
}

.oa-event-request-single__people-link:hover,
.oa-event-request-single__people-link:focus-visible {
	color: var(--oa-color-primary-800);
}

.oa-event-request-single__people-image {
	width: 3rem;
	height: 3rem;
	border-radius: var(--oa-rounded-full);
	object-fit: cover;
	flex: 0 0 auto;
}

.oa-event-request-single__people-name {
	font-weight: 600;
}

.oa-event-request-single__standorte-item a {
	display: inline-flex;
	align-items: center;
	gap: var(--oa-space-2);
	color: var(--oa-color-primary-700);
	text-decoration: none;
}

.oa-event-request-single__standorte-item a:hover .oa-event-request-single__standorte-name,
.oa-event-request-single__standorte-item a:focus-visible .oa-event-request-single__standorte-name {
	text-decoration: underline;
}
