/* UST Typography System
   - Controlled by CSS variables:
     --ust-font-base (rem)
     --ust-line-height-base (unitless)
   - Responsive sizing via clamp()
   - Best-practice readable defaults for mobile (320-360px) through large desktops (2560px+)
*/

:root{
  --ust-font-base: 1rem;
  --ust-line-height-base: 1.55;
}

html{ font-size: var(--ust-font-base, 1rem); }


/* Base text */
body{
  font-size: 1rem;
  line-height: var(--ust-line-height-base);
  text-rendering: optimizeLegibility;
}

/* Prevent overflow with long words/URLs, especially German compounds */
p, li, h1, h2, h3, h4, h5, h6{
  overflow-wrap: break-word;
  word-break: normal;
}

/* Paragraphs and lists: consistent rhythm */
p{
  margin: 0 0 1em 0;
}

ul, ol{
  margin: 0 0 1em 0;
  padding-left: 1.25em;
}

li{
  margin: 0.25em 0;
}

/* Headings: responsive but controlled. Keep long titles readable on mobile. */
h1, h2, h3, h4, h5, h6{
  margin: 0 0 0.6em 0;
  font-weight: 700;
  line-height: 1.15;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6a,
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6a:hover {
	text-decoration:none;
}

h1{ font-size: clamp(1.8rem, 2.2vw + 1.2rem, 3.0rem); }
h2{ font-size: clamp(1.55rem, 1.6vw + 1.05rem, 2.35rem); }
h3{ font-size: clamp(1.35rem, 1.15vw + 0.95rem, 1.85rem); }
h4{ font-size: clamp(1.20rem, 0.85vw + 0.90rem, 1.55rem); }
h5{ font-size: clamp(1.05rem, 0.55vw + 0.85rem, 1.25rem); }
h6{ font-size: 1rem; }

/* Tighten spacing when headings are followed by text */
h1 + p, h2 + p, h3 + p, h4 + p, h5 + p, h6 + p{
  margin-top: 0;
}

/* Small text */
small{
  font-size: 0.875em;
  line-height: 1.4;
}

/* Links inherit overall color system; keep underline conventional */
a{
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

/* Blockquote */
blockquote{
  margin: 0 0 1em 0;
  padding-left: 1em;
  border-left: 3px solid currentColor;
  opacity: 0.9;
}

/* Code */
code, pre{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
pre{
  overflow: auto;
  padding: 0.9em 1em;
  margin: 0 0 1em 0;
}

/* Ensure Gutenberg post title uses the same heading scale */
.entry-title, .wp-block-post-title{
  font-size: clamp(1.85rem, 2.2vw + 1.2rem, 3.0rem);
  line-height: 1.15;
  margin: 0 0 0.6em 0;
}

/* Ensure content inherits the chosen rhythm */
.entry-content{
  line-height: var(--ust-line-height-base);
}
.entry-content p, .entry-content li{
  line-height: inherit;
}



.ts-av {
	margin-top: 3rem;
	margin-bottom: 3rem;
}

.ts-av h2,
.ts-av h3 {
	color: #720000;
}

.ts-av h2 {
	margin-bottom: 1.5rem;
}

.ts-av-period {
	margin-top: 2rem;
}

.ts-av-period + .ts-av-period {
	margin-top: 3.5rem;
}

.ts-av-period h3 {
	margin-bottom: 1.2rem;
}

.ts-av-row {
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr);
	gap: 0;
	margin-bottom: 0.55rem;
}

.ts-av-label {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.7rem;
	margin: 0 !important;
	padding: 0.55rem 0.75rem;
	border: 1px solid #720000;
	color: #280000;
	background: rgba(114, 0, 0, 0.045);
	font-weight: 700;
	line-height: 1.2;
}

.ts-av-items {
	display: grid;
	align-items: stretch;
	gap: 0;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	background: rgba(0, 0, 0, 0.035);
}

.ts-av-four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ts-av-six {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.ts-av-seven {
	grid-template-columns: repeat(7, minmax(0, 1fr));
}

.ts-av-items li {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	min-height: 2.7rem;
	margin: 0 !important;
	padding: 0.55rem 0.8rem;
	line-height: 1.25;
	font-size: 0.92rem;
}

.ts-av-row:nth-of-type(even) .ts-av-items {
	background: rgba(0, 0, 0, 0.055);
}

@media (max-width: 900px) {
	.ts-av-row {
		grid-template-columns: 1fr;
		margin-bottom: 1rem;
		border: 1px solid rgba(114, 0, 0, 0.25);
	}

	.ts-av-label {
		justify-content: flex-start;
		border: 0;
		border-bottom: 1px solid rgba(114, 0, 0, 0.25);
		background: rgba(114, 0, 0, 0.08);
	}

	.ts-av-four,
	.ts-av-six,
	.ts-av-seven {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ts-av-items li {
		min-height: auto;
		padding: 0.65rem 0.75rem;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
		background: rgba(0, 0, 0, 0.02);
	}

	.ts-av-items li:nth-child(odd) {
		border-right: 1px solid rgba(0, 0, 0, 0.08);
	}
}

@media (max-width: 520px) {
	.ts-av-four,
	.ts-av-six,
	.ts-av-seven {
		grid-template-columns: 1fr;
	}

	.ts-av-items li:nth-child(odd) {
		border-right: 0;
	}
}
form.wpcf7-form p.red {
	color:#FF0000 !important;
}

.ust-event-meta__time {
	display:none;
}

@media (max-width: 768px) {
.widget_media_image,
.widget_media_image .wp-block-image.alignright {
	float:none;
	text-align:center;
	margin:0 auto;
}