/* Gemeinsame Bausteine aller Plugin-Blöcke — wird auf jeder Seite geladen (Buttons, Chips, Datumsblöcke, Filterleiste, Zeilen, Fugen). */

/* Gemeinsame Bausteine: Buttons und Datumsblöcke der Plugin-Blöcke. */
.dawv-btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 13px var(--wp--preset--spacing--18);
	border: 2px solid transparent;
	border-radius: var(--dawv-radius-s);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--ui-s);
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1.2;
	text-align: center;
	transition: background-color .15s, border-color .15s, color .15s;
}

.dawv-btn:hover { text-decoration: none; }
.dawv-btn-primaer { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--base); }
.dawv-btn-primaer:hover { background: var(--wp--preset--color--primary-accent); color: var(--wp--preset--color--base); }
.dawv-btn-sekundaer { background: transparent; color: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); }
.dawv-btn-sekundaer:hover { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
.dawv-btn-sekundaer.auf-weiss { background: var(--wp--preset--color--base); }
.dawv-btn-sekundaer.auf-weiss:hover { background: var(--wp--preset--color--contrast); }
.dawv-btn-dunkel-rahmen { background: transparent; color: var(--wp--preset--color--base); border-color: var(--wp--preset--color--outline-dark); }
.dawv-btn-dunkel-rahmen:hover { border-color: var(--wp--preset--color--base); color: var(--wp--preset--color--base); }
.dawv-btn-gold { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--main); }
.dawv-btn-gold:hover { background: var(--wp--preset--color--base); color: var(--wp--preset--color--main); }
.dawv-btn-klein { min-height: 40px; padding: 9px var(--wp--preset--spacing--18); }
.dawv-btn-voll { width: 100%; }

.dawv-textlink {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--ui-s);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--wp--preset--color--primary-accent);
	text-decoration: none;
	position: relative;
}

.dawv-textlink::after { content: ''; position: absolute; inset: -12px 0; }
.dawv-textlink:hover { color: var(--wp--preset--color--primary); text-decoration: none; }
.dawv-textlink-gold { color: var(--wp--preset--color--gold); }
.dawv-textlink-gold:hover { color: var(--wp--preset--color--base); }

/* Datumsblock: Monat / Tag / Jahr. */
.dawv-datum { display: flex; flex-direction: column; align-items: center; text-align: center; font-family: var(--wp--preset--font-family--ziffer); text-transform: uppercase; line-height: 1; }
.dawv-datum__monat { font-size: var(--wp--preset--font-size--kicker); letter-spacing: 0.14em; color: var(--wp--preset--color--muted-dark); }
.dawv-datum__tag { font-size: var(--wp--preset--font-size--ziffer-xl); line-height: 0.9; color: var(--wp--preset--color--base); }
.dawv-datum__jahr { font-size: var(--wp--preset--font-size--caption); letter-spacing: 0.1em; color: var(--wp--preset--color--muted-dark); }
.dawv-datum-mobil { display: none; align-items: baseline; gap: var(--wp--preset--spacing--10); font-family: var(--wp--preset--font-family--ziffer); line-height: 1; }
.dawv-datum-mobil__tag { font-size: var(--wp--preset--font-size--ziffer-m); color: var(--wp--preset--color--base); }
.dawv-datum-mobil__jahr { font-size: var(--wp--preset--font-size--body-l); color: var(--wp--preset--color--muted-dark); }

/* Chips und Plaketten. */
.dawv-chip {
	display: inline-block;
	font-family: var(--wp--preset--font-family--ziffer);
	font-size: var(--wp--preset--font-size--kicker-s);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 1;
	padding: 5px 12px;
	border-radius: var(--dawv-radius-pill);
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	vertical-align: middle;
}

.dawv-chip-international { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--main); }
.dawv-chip-abgesagt { background: transparent; color: var(--wp--preset--color--primary); border: 1px solid var(--wp--preset--color--primary); padding: 4px 12px; }
.dawv-chip-newcomer { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
.dawv-chip-ergebnisse { background: transparent; color: var(--wp--preset--color--gold); border: 1px solid var(--wp--preset--color--gold-accent); padding: 4px 12px; }

.dawv-plakette {
	display: inline-block;
	font-family: var(--wp--preset--font-family--ziffer);
	font-size: var(--wp--preset--font-size--kicker-s);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1;
	padding: 5px 11px;
	border-radius: var(--dawv-radius-pill);
	border: 1px solid var(--wp--preset--color--border-light);
	color: var(--wp--preset--color--muted-dark);
	white-space: nowrap;
}

.dawv-plakette-gold { border-color: var(--wp--preset--color--gold); color: var(--wp--preset--color--gold-accent); }
.dawv-plakette-abgesagt { border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary-accent); }

/* Gemeinsam: Grid-Liste mit 1-px-Fugen (Zuletzt ausgetragen, Turnierdaten, Vereins-Turniere …). */
.dawv-fugen {
	display: grid;
	gap: 1px;
	background: var(--wp--preset--color--border-light);
	border: 1px solid var(--wp--preset--color--border-light);
	border-radius: var(--dawv-radius-m);
	overflow: hidden;
}

.dawv-fugen > * { background: var(--wp--preset--color--base); }

/* ---------- Filterleiste (gemeinsam mit Siegerliste) ---------- */
.dawv-filterleiste { background: var(--wp--preset--color--tertiary); border-bottom: 1px solid var(--wp--preset--color--border-light); padding: var(--wp--preset--spacing--18) var(--dawv-rand); }
.dawv-filterleiste__innen { max-width: 1240px; margin-inline: auto; display: flex; gap: var(--wp--preset--spacing--10); align-items: center; flex-wrap: wrap; }
.dawv-filterleiste__label { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: var(--wp--preset--font-size--label); letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--secondary); margin-right: var(--wp--preset--spacing--4); }
.dawv-filterleiste__trenner { width: 1px; height: 26px; background: var(--wp--preset--color--border-light); margin: 0 var(--wp--preset--spacing--8); }
.dawv-filterleiste__select { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--small); padding: 10px var(--wp--preset--spacing--14); border: 1px solid var(--wp--preset--color--border-light); border-radius: var(--dawv-radius-s); background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); min-height: 42px; }
.dawv-filterleiste__suche { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--small); padding: 10px var(--wp--preset--spacing--14); border: 1px solid var(--wp--preset--color--border-light); border-radius: var(--dawv-radius-s); background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); min-height: 42px; width: 200px; }
.dawv-filterleiste__rechts { margin-left: auto; font-size: var(--wp--preset--font-size--caption); }

.dawv-filterchip { display: inline-flex; align-items: center; min-height: 42px; padding: 10px var(--wp--preset--spacing--18); border-radius: var(--dawv-radius-pill); border: 1px solid var(--wp--preset--color--border-light); background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: var(--wp--preset--font-size--ui-s); text-decoration: none; cursor: pointer; }
.dawv-filterchip:hover { border-color: var(--wp--preset--color--contrast); text-decoration: none; color: var(--wp--preset--color--contrast); }
.dawv-filterchip.is-aktiv { background: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); font-weight: 700; }
.dawv-filterchip.is-leer { border-style: dashed; color: var(--wp--preset--color--muted-dark); }

/* ---------- Zeilen (Zuletzt ausgetragen, Vereins-Turniere, Weitere Turniere) ---------- */
.dawv-zeile { display: flex; align-items: center; gap: var(--wp--preset--spacing--22); padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--22); }
.dawv-zeile__datum { font-family: var(--wp--preset--font-family--ziffer); font-size: var(--wp--preset--font-size--ziffer-xxs); color: var(--wp--preset--color--muted-dark); min-width: 104px; line-height: 1; }
.dawv-zeile__titel { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: var(--wp--preset--font-size--titel-xs); color: var(--wp--preset--color--contrast); flex: 1; }
.dawv-zeile__titel a { color: inherit; text-decoration: none; }

@media (max-width: 1199px) {
	.dawv-filterleiste { padding: var(--wp--preset--spacing--14) var(--dawv-rand); }
	:root .dawv-filterleiste__label, :root .dawv-filterleiste__trenner { display: none; }
	.dawv-filterchip { padding: 10px var(--wp--preset--spacing--16); }
	.dawv-zeile { flex-wrap: wrap; gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--16); padding: var(--wp--preset--spacing--14) var(--wp--preset--spacing--18); }
}

@media (max-width: 599px) {
	.dawv-filterleiste { padding: var(--wp--preset--spacing--12) var(--dawv-rand); }
	.dawv-filterleiste__innen { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.dawv-filterleiste__innen::-webkit-scrollbar { display: none; }
	.dawv-filterchip { flex-shrink: 0; }
	:root .dawv-filterleiste__select { display: none; }
	.dawv-zeile__datum { min-width: 0; }
	.dawv-zeile__titel { flex-basis: 100%; }
}


/* ---------- Brotkrumen (Turnier-, Vereins-, Siegerlisten-Kopf) ---------- */
.dawv-brotkrumen { font-size: var(--wp--preset--font-size--caption); color: var(--wp--preset--color--muted-dark); margin-bottom: var(--wp--preset--spacing--26); display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--6); }
.dawv-brotkrumen a { color: var(--wp--preset--color--muted-dark); text-decoration: none; }
.dawv-brotkrumen a:hover { color: var(--wp--preset--color--base); }
.dawv-brotkrumen span[aria-hidden] { color: var(--wp--preset--color--contrast-soft); }
.dawv-brotkrumen__aktuell { color: var(--wp--preset--color--text-dark); }

/* ---------- Ersatzbild (Hero-Motiv), wenn ein Eintrag kein eigenes Bild hat ---------- */
.dawv-fallback { object-fit: cover; display: block; }
.dawv-hof__foto .dawv-fallback, .dawv-person__foto .dawv-fallback { width: 100%; height: 100%; }
