/*
Theme Name: A.T.C. Ollie
Theme URI: https://adjusttonecontrol.com
Description: Child-Theme von Ollie im A.T.C.-Records-Look: Helvetica, Schwarz/Weiß, Mohnrot als Akzent, keine Rundungen, keine Schatten.
Author: A.T.C. Records
Template: ollie
Version: 1.5.4
Requires at least: 6.5
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: atc-ollie
*/

/* Keine Rundungen - auch dort, wo Ollie-Muster sie direkt setzen */
:root :where(
	.wp-element-button, .wp-block-button__link, input, select, textarea,
	img, .wp-block-image img, .wp-block-cover, .wp-block-group, .wp-block-column,
	.wp-block-table table, .wp-block-code, pre, code, .wp-block-search__input,
	.wp-block-search__button, .wp-block-post-featured-image img, .wp-block-embed iframe,
	.wp-block-details, .wp-block-media-text__media img
) {
	border-radius: 0 !important;
}

/* Keine Schatten */
:root :where(.wp-block-group, .wp-block-column, .wp-block-cover, .wp-block-image img, .wp-element-button, .wp-block-button__link) {
	box-shadow: none !important;
}

/* Links: unterstrichen, Hover in Mohnrot */
:root :where(.entry-content a, .wp-block-post-content a) {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}

/* Navigation in Versalien */
.wp-block-navigation .wp-block-navigation-item__content {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 700;
}

/* Fokus gut sichtbar (Barrierefreiheit) */
:where(a, button, input, select, textarea, .wp-element-button):focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

/* ===== Kopfzeile: Menü auf schwarzem Grund immer hell ===== */
.site-header .has-background .wp-block-navigation,
.site-header .has-background .wp-block-navigation a,
.site-header .has-background .wp-block-navigation .wp-block-navigation-item__content {
	color: var(--wp--preset--color--base);
}
.site-header .has-background .wp-block-navigation a:hover,
.site-header .has-background .wp-block-navigation .current-menu-item > a {
	color: #FF6A5C;
}

/* ===== Release-Raster ===== */
.atc-grid {
	list-style: none;
	margin: var(--wp--preset--spacing--medium) 0 var(--wp--preset--spacing--x-large);
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 2.5rem 1.5rem;
}
.atc-card a { display: flex; flex-direction: column; gap: .4rem; text-decoration: none; color: inherit; }
.atc-card__img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: #1C1C1C; }
.atc-card a:hover .atc-card__img { outline: 3px solid var(--wp--preset--color--primary); }
.atc-card__meta { margin-top: .4rem; font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: .12em; color: var(--wp--preset--color--secondary); text-transform: uppercase; }
.atc-card__artist, .atc-card__title { font-weight: 700; text-transform: uppercase; line-height: 1.15; }
.atc-card__title { font-weight: 400; }

/* ===== Eckdaten, Kicker, Felder ===== */
.atc-kicker { font-size: var(--wp--preset--font-size--small); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--primary); }
.atc-kicker a { color: inherit; text-decoration: none; }
.atc-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem 1.5rem; margin: 1.5rem 0; padding-top: 1.1rem; border-top: 2px solid var(--wp--preset--color--main); }
.atc-meta dt { font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--secondary); }
.atc-meta dd { margin: .2rem 0 0; font-weight: 700; }
.atc-field { margin: 0 0 1.5rem; }
.atc-field__label { font-size: var(--wp--preset--font-size--medium); margin: 0 0 .75rem; padding-bottom: .5rem; border-bottom: 2px solid var(--wp--preset--color--main); }
.atc-field--tracklist .atc-field__value, .atc-field--credits .atc-field__value { line-height: 1.9; }
.atc-field--foerderhinweis { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--secondary); }

/* ===== Buttons ===== */
.atc-buttons { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.5rem 0; }
.atc-buttons .wp-element-button { display: inline-flex; align-items: center; min-height: 48px; text-decoration: none; }
.atc-button--accent { background: var(--wp--preset--color--primary) !important; color: #fff !important; }
.atc-button--accent:hover { background: var(--wp--preset--color--main) !important; }
.atc-button--outline { background: transparent !important; color: var(--wp--preset--color--main) !important; box-shadow: inset 0 0 0 2px var(--wp--preset--color--main) !important; }
.atc-button--outline:hover { background: var(--wp--preset--color--main) !important; color: var(--wp--preset--color--base) !important; }

/* ===== Player mit Zwei-Klick-Lösung ===== */
.atc-embed { background: var(--wp--preset--color--main); color: var(--wp--preset--color--base); padding: 1.5rem; margin: 1.5rem 0; }
.atc-embed.is-loaded { background: transparent; padding: 0; }
.atc-embed__label { margin: 0 0 .5rem; font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--main-accent); }
.atc-embed__text { margin: 0 0 1rem; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--main-accent); }
.atc-embed__text a { color: inherit; }
.atc-embed .atc-embed__load { background: var(--wp--preset--color--base); color: var(--wp--preset--color--main); min-height: 44px; cursor: pointer; }
.atc-embed .atc-embed__load:hover { background: var(--wp--preset--color--primary); color: #fff; }

/* ===== Listen: Termine, Episoden, Mixes ===== */
.atc-rows { list-style: none; margin: var(--wp--preset--spacing--small) 0 var(--wp--preset--spacing--x-large); padding: 0; border-top: 2px solid var(--wp--preset--color--main); }
.atc-rows li { display: grid; grid-template-columns: 9rem minmax(0, 1fr) auto auto; gap: 1rem; align-items: baseline; padding: 1rem 0; border-bottom: 1px solid var(--wp--preset--color--main); }
.atc-rows__date { font-weight: 700; }
.atc-rows__main a { text-decoration: none; font-weight: 700; }
.atc-rows__side, .atc-rows__link { font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.atc-empty { color: var(--wp--preset--color--secondary); }
@media (max-width: 640px) {
	.atc-rows li { grid-template-columns: 1fr; gap: .2rem; }
	.atc-meta { grid-template-columns: 1fr 1fr; }
}

/* ===== Release-Seite: Titel passt in die Spalte, Wörter werden nie zerrissen ===== */
.atc-release-info .wp-block-post-title {
	font-size: clamp(2.2rem, 4.2vw, 4.25rem);
	line-height: 0.95;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
	margin-top: .35rem;
}
:root :where(h1, h2, h3, .wp-block-post-title) {
	overflow-wrap: normal;
	word-break: normal;
}
@media (max-width: 781px) {
	.atc-release-info .wp-block-post-title { font-size: clamp(2.2rem, 11vw, 3.5rem); }
}

/* ===== 1.1.2: Titelgröße folgt der Spaltenbreite (Container Query) ===== */
.atc-release-info { container-type: inline-size; }
.atc-release-info .wp-block-post-title,
.wp-block-column.atc-release-info h1.wp-block-post-title {
	font-size: min(4.25rem, 13cqi) !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: manual !important;
}

/* ===== 1.1.3: Abschnittsüberschriften auf Übersichtsseiten ===== */
h2.atc-section {
	font-size: var(--wp--preset--font-size--medium) !important;
	line-height: 1.1;
	letter-spacing: .02em;
	margin-top: var(--wp--preset--spacing--large) !important;
	margin-bottom: 0 !important;
	padding-top: .75rem;
	border-top: 2px solid var(--wp--preset--color--main);
}
h2.atc-section + .wp-block-shortcode,
h2.atc-section + p { margin-top: 1rem; }

/* ===== 1.2.0: Startseite ===== */
.atc-eyebrow { font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--main-accent); margin: 0; }
.atc-hero__title { font-size: clamp(3rem, 7.5vw, 7.5rem) !important; line-height: .88 !important; letter-spacing: -.025em !important; margin-top: 1.25rem !important; margin-bottom: 2rem !important; color: var(--wp--preset--color--base); }
.atc-hero__row { gap: 2.5rem 3rem; align-items: flex-end; }
.atc-knobs { display: flex; gap: 1.75rem; color: var(--wp--preset--color--base); }
.atc-knob { margin: 0; display: flex; flex-direction: column; align-items: center; gap: .6rem; }
.atc-knob figcaption { font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.atc-hero__claim { max-width: 30rem; margin: 0; font-size: var(--wp--preset--font-size--base); line-height: 1.5; color: var(--wp--preset--color--main-accent); }
.atc-hero__claim span { display: block; margin-top: .5rem; font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }

.atc-featured { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; align-items: center; margin-bottom: var(--wp--preset--spacing--large); }
.atc-featured__cover { display: block; }
.atc-featured__img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.atc-featured__info { container-type: inline-size; }
.atc-featured__title { margin: .5rem 0 1.25rem; font-size: min(5.5rem, 14cqi); line-height: .92; overflow-wrap: normal; word-break: normal; }
.atc-featured__title span { display: block; }
.atc-featured__facts { padding-top: 1rem; border-top: 2px solid var(--wp--preset--color--main); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; font-size: var(--wp--preset--font-size--small); }
.atc-featured__text { max-width: 34rem; }
@media (max-width: 781px) { .atc-featured { grid-template-columns: 1fr; gap: 1.5rem; } }

.atc-split .wp-block-columns { margin: 0; }
.atc-split__col { padding: var(--wp--preset--spacing--x-large) 0; }
.atc-split__col + .atc-split__col { border-left: 1px solid var(--wp--preset--color--border-dark); padding-left: 3rem; }
.atc-split__title { font-size: clamp(2.4rem, 5vw, 4rem) !important; line-height: .95 !important; margin: 1rem 0 1.25rem !important; color: var(--wp--preset--color--base); }
.atc-split p { color: var(--wp--preset--color--main-accent); max-width: 30rem; }
.atc-split .atc-more a { color: var(--wp--preset--color--base); }
@media (max-width: 781px) { .atc-split__col + .atc-split__col { border-left: 0; border-top: 1px solid var(--wp--preset--color--border-dark); padding-left: 0; } }

.atc-more { margin-top: 1rem; font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.atc-more a { text-decoration: none; }
.atc-more a::after { content: " \2192"; }

.atc-journal .wp-block-post-template { list-style: none; margin: 1rem 0 0; padding: 0; }
.atc-journal .wp-block-post-template > li { padding: 1rem 0; border-bottom: 1px solid var(--wp--preset--color--main); }
.atc-journal__date { font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: .12em; color: var(--wp--preset--color--secondary); }
.atc-journal__title { font-size: var(--wp--preset--font-size--medium) !important; margin: .3rem 0 0 !important; }
.atc-journal__title a { text-decoration: none; }

/* ===== 1.2.1: Aufmacher kompakter, Release-Teaser fest zweispaltig ===== */
.atc-hero { padding-top: var(--wp--preset--spacing--x-large) !important; padding-bottom: var(--wp--preset--spacing--x-large) !important; }
.atc-knob svg { width: 64px; height: 64px; }
.atc-featured > p, .atc-featured > br, .atc-featured__info > br { display: none; }
.atc-featured > .atc-featured__info > p { display: block; }
.atc-featured__cover { grid-column: 1; grid-row: 1; }
.atc-featured__info { grid-column: 2; grid-row: 1; }
.atc-featured__cover p, .atc-featured__cover br { display: contents; }
@media (max-width: 781px) {
	.atc-featured__cover { grid-column: 1; grid-row: 1; }
	.atc-featured__info { grid-column: 1; grid-row: 2; }
}

/* ===== 1.3.0: Footer, Drehregler-Beschriftung heller ===== */
.atc-knob figcaption { color: var(--wp--preset--color--main-accent); }
.atc-footer { margin-top: 0 !important; }
.atc-footer a { color: var(--wp--preset--color--base); text-decoration: none; }
.atc-footer a:hover { color: #FF6A5C; }
.atc-footer__brand { font-size: var(--wp--preset--font-size--medium); font-weight: 700; text-transform: uppercase; letter-spacing: .02em; margin: 0 0 .5rem; }
.atc-footer__muted { color: var(--wp--preset--color--main-accent); font-size: var(--wp--preset--font-size--small); margin: 0; }
.atc-footer .atc-eyebrow { margin-bottom: .75rem; }
.atc-footer__links { list-style: none; margin: 0; padding: 0; font-size: var(--wp--preset--font-size--small); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; line-height: 2.1; }
.atc-footer__copy { margin-top: var(--wp--preset--spacing--large); padding-top: 1rem; border-top: 1px solid var(--wp--preset--color--border-dark); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--main-accent); }
.site-footer { margin-top: 0 !important; }

/* ===== 1.3.1: Social-Icons im Footer ===== */
.atc-social { margin-top: 1.75rem !important; }
.atc-social .wp-social-link a { padding: 0 !important; }
.atc-social .wp-social-link svg { fill: var(--wp--preset--color--base); transition: fill .15s; }
.atc-social .wp-social-link:hover svg { fill: #FF6A5C; }

/* ===== 1.4.0: eingebettete Player in Seiten (YouTube, SoundCloud) ===== */
.wp-block-embed .atc-embed { margin: 0; }
.wp-block-embed__wrapper:has(.atc-embed)::before { display: none; }
.wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper:has(.atc-embed) { position: static; }

/* ===== 1.4.3: geladener Player bleibt in der Inhaltsbreite ===== */
.atc-embed { position: relative; width: 100%; max-width: 100%; box-sizing: border-box; }
.atc-embed iframe { position: static !important; display: block; width: 100% !important; max-width: 100%; inset: auto !important; }
.wp-block-embed__wrapper:has(.atc-embed) { position: static !important; padding: 0 !important; }
.wp-block-embed.alignfull:has(.atc-embed), .wp-block-embed.alignwide:has(.atc-embed) { max-width: var(--wp--style--global--content-size, 760px); margin-left: auto; margin-right: auto; }
.wp-block-embed .wp-block-embed__wrapper:has(.atc-embed)::before { content: none !important; display: none !important; padding: 0 !important; }

/* ===== 1.5.1: SoundCloud kompakt (166 px, volle Breite, nie 16:9) ===== */
.atc-embed--soundcloud,
.atc-embed--soundcloud.is-loaded { aspect-ratio: auto !important; height: auto !important; min-height: 0 !important; padding-bottom: 0 !important; }
.atc-embed--soundcloud::before,
.atc-embed--soundcloud::after { content: none !important; display: none !important; }
.atc-embed--soundcloud iframe { position: static !important; display: block; width: 100% !important; height: 166px !important; aspect-ratio: auto !important; min-height: 0 !important; }
.atc-embed--soundcloud-set iframe { height: 450px !important; }
.atc-embed-block--soundcloud .wp-block-embed__wrapper { position: static !important; padding: 0 !important; aspect-ratio: auto !important; height: auto !important; }
.atc-embed-block--soundcloud .wp-block-embed__wrapper::before { content: none !important; display: none !important; padding: 0 !important; }

/* ===== 1.5.2: Termine - Veranstaltungstitel + Venue, Stadt ===== */
.atc-gig__main { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: .75rem; row-gap: .15rem; min-width: 0; }
.atc-gig__title { font-weight: 700; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
a.atc-gig__title:hover { color: var(--wp--preset--color--primary); }
.atc-gig__place { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--secondary); overflow-wrap: anywhere; }
@media (max-width: 640px) {
	.atc-gig__main { flex-direction: column; align-items: flex-start; }
}

/* ===== 1.5.3: Release-Text einklappen (mehr als 5 Zeilen) ===== */
.atc-collapsible > :first-child { margin-top: 0; }
.atc-collapsible.is-collapsed { position: relative; overflow: hidden; }
.atc-collapsible.is-collapsed::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2.5em; background: linear-gradient(to bottom, rgba(245, 244, 240, 0), var(--wp--preset--color--base, #F5F4F0)); pointer-events: none; }
.atc-readmore { display: inline-block; margin: .75rem 0 0; padding: .35rem 0; background: none; border: 0; border-bottom: 2px solid currentColor; border-radius: 0; color: var(--wp--preset--color--main); font: inherit; font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.atc-readmore:hover, .atc-readmore:focus-visible { color: var(--wp--preset--color--primary); }
.atc-readmore[hidden] { display: none; }

/* ===== 1.5.4: Videos unter dem Player ===== */
.atc-videos { display: flex; flex-direction: column; gap: 1rem; margin: 1rem 0 1.5rem; }
.atc-videos .atc-embed { margin: 0; }

