/**
 * KS Education — Spectra (UAGB) legacy layer, ported from EPÖDER M3.
 *
 * Styles the static HTML that Spectra blocks leave in post content (the
 * kiymetselvi.com pages built with Spectra), in the theme's editorial look:
 * hairline rules, square corners, Source Serif 4 headings and the orange accent.
 * Keeps the layout after Spectra is deactivated or removed, and wins over
 * Spectra's own per-block CSS while the plugin is still active (hence the
 * targeted !important on colours, borders and backgrounds).
 *
 * Loaded only on content that contains Spectra markup (inc/spectra-legacy.php).
 * Temporary: remove together with inc/spectra-legacy.php once the pages use
 * core blocks.
 */

/* ---------- Alignment (from block attributes, see inc/spectra-legacy.php) ---------- */

.ks-align-left { text-align: left; }
.ks-align-center { text-align: center; }
.ks-align-right { text-align: right; }

@media (max-width: 599.98px) {
	.ks-align-mobile-left { text-align: left; }
	.ks-align-mobile-center { text-align: center; }
	.ks-align-mobile-right { text-align: right; }
}

/* ---------- Sizing guard ----------
 * Spectra gives some blocks `width: -webkit-fill-available` (mobile) or fixed
 * widths; with the theme's padding that would overflow. Keep every Spectra
 * block inside its parent. */

.ks-entry [class*="wp-block-uagb-"],
.ks-entry [class*="wp-block-uagb-"] * {
	box-sizing: border-box;
}

.ks-entry :is(.wp-block-uagb-inline-notice, .wp-block-uagb-advanced-heading, .wp-block-uagb-separator, .wp-block-uagb-icon-list, .wp-block-uagb-info-box) {
	width: auto !important;
	max-width: 100%;
}

.ks-entry [class*="wp-block-uagb-"] {
	padding-inline: 0;
}

/* ---------- Container ---------- */

.wp-block-uagb-container {
	box-sizing: border-box;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	min-width: 0;
	min-height: 0 !important;
	padding: 0 !important;
	background: none !important;
}

.wp-block-uagb-container > .uagb-container-inner-blocks-wrap {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
	max-width: var(--ks-wide, 1200px) !important;
	margin-inline: auto;
}

/* A full-width root container stays inside the reading column. */
.ks-entry .wp-block-uagb-container.uagb-is-root-container {
	width: 100% !important;
	max-width: var(--wp--style--global--wide-size, 1200px) !important;
	margin: 2rem auto !important;
}

/* A container that holds containers is a responsive row of columns. */
.wp-block-uagb-container.ks-uagb-row,
.wp-block-uagb-container:not(.ks-uagb-column):has(> .wp-block-uagb-container),
.wp-block-uagb-container > .uagb-container-inner-blocks-wrap:has(> .wp-block-uagb-container) {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0;
	border-top: 1px solid var(--md-on-surface);
}

:is(.wp-block-uagb-container.ks-uagb-row, .wp-block-uagb-container:has(> .wp-block-uagb-container), .uagb-container-inner-blocks-wrap) > .wp-block-uagb-container {
	flex: 1 1 220px;
}

/* A leaf container with content is an editorial cell: hairline frame, no shadow. */
.ks-entry .wp-block-uagb-container:not(.uagb-is-root-container):not(:has(> .wp-block-uagb-container)) {
	justify-content: flex-start;
	align-items: stretch !important;
	gap: 1rem;
	margin: 0 -1px -1px 0 !important;
	padding: clamp(1.25rem, 3vw, 1.75rem) !important;
	border: 1px solid var(--md-outline-variant) !important;
	border-top: 0 !important;
	border-radius: 0 !important;
	background: var(--md-surface-container-lowest) !important;
	box-shadow: none !important;
	color: var(--md-on-surface);
	text-align: left;
	transition: background-color 0.2s var(--md-ease, ease);
}

.ks-entry .wp-block-uagb-container:not(.uagb-is-root-container):not(:has(> .wp-block-uagb-container)):hover {
	background: var(--md-surface-container-low) !important;
}

.ks-entry .wp-block-uagb-container:not(.uagb-is-root-container):not(:has(> .wp-block-uagb-container)) > * {
	width: 100%;
	margin-block: 0;
}

/* ---------- Advanced heading ---------- */

.wp-block-uagb-advanced-heading {
	margin-block: 2rem 1rem;
}

.wp-block-uagb-advanced-heading .uagb-heading-text {
	margin: 0;
	color: var(--md-on-surface) !important;
	background: none !important;
	font-family: var(--wp--preset--font-family--source-serif);
	-webkit-text-fill-color: currentColor !important;
	filter: none !important;
	text-transform: none !important;
	letter-spacing: -0.01em !important;
	text-wrap: balance;
}

.wp-block-uagb-advanced-heading :is(h1, h2).uagb-heading-text {
	font-size: var(--wp--preset--font-size--x-large) !important;
	font-weight: 500 !important;
}

.wp-block-uagb-advanced-heading h3.uagb-heading-text {
	font-size: var(--wp--preset--font-size--large) !important;
	font-weight: 500 !important;
}

.wp-block-uagb-advanced-heading :is(h4, h5, h6).uagb-heading-text {
	font-size: 1.125rem !important;
	font-weight: 600 !important;
	line-height: 1.3;
}

.wp-block-uagb-advanced-heading .uagb-heading-text strong {
	font-weight: inherit;
}

.wp-block-uagb-advanced-heading .uagb-heading-text a {
	color: inherit;
	text-decoration-color: var(--md-tertiary);
	-webkit-text-fill-color: currentColor;
}

.wp-block-uagb-advanced-heading .uagb-desc-text {
	margin: 0.5rem 0 0;
	color: var(--md-on-surface-variant) !important;
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: 1.0625rem !important;
}

/* Short orange rule under the heading. */
.wp-block-uagb-advanced-heading .uagb-separator {
	width: 2.5rem !important;
	height: 2px;
	margin: 0.75rem 0 0;
	border: 0 !important;
	border-radius: 0;
	background: var(--md-tertiary) !important;
}

.wp-block-uagb-advanced-heading.ks-align-center .uagb-separator {
	margin-inline: auto;
}

.wp-block-uagb-advanced-heading.ks-align-right .uagb-separator {
	margin-left: auto;
}

/* ---------- Icon list ---------- */

.wp-block-uagb-icon-list {
	margin-block: 1.5rem;
}

.wp-block-uagb-icon-list .uagb-icon-list__wrap {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0 !important;
	border-block: 1px solid var(--md-outline-variant);
}

.wp-block-uagb-icon-list-child {
	position: relative;
	display: flex !important;
	align-items: center;
	gap: 1rem;
	min-height: 3.5rem;
	margin: 0 !important;
	padding: 0.625rem 0 !important;
}

.wp-block-uagb-icon-list-child + .wp-block-uagb-icon-list-child {
	border-top: 1px solid var(--md-outline-variant);
}

.wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap {
	box-sizing: border-box;
	display: grid !important;
	place-items: center;
	flex: none;
	width: 2.5rem !important;
	height: 2.5rem !important;
	padding: 0 !important;
	border: 1px solid var(--md-tertiary) !important;
	border-radius: 0 !important;
	background: none !important;
	color: var(--md-tertiary) !important;
}

/* An emptied icon slot (plugin removed) keeps the orange square as a bullet. */
.wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap:empty::before {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	background: currentColor;
}

.wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap svg {
	width: 1.125rem !important;
	height: 1.125rem !important;
	fill: currentColor !important;
	color: inherit !important;
}

.wp-block-uagb-icon-list-child .uagb-icon-list__label {
	color: var(--md-on-surface) !important;
	font-size: 1.0625rem !important;
	line-height: 1.45;
	text-align: left !important;
}

.wp-block-uagb-icon-list-child a {
	display: flex;
	align-items: center;
	gap: 1rem;
	color: inherit;
	text-decoration: none;
}

/* Spectra's whole-row link is an empty anchor before the icon: stretch it over the row. */
.wp-block-uagb-icon-list-child > a:empty {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.wp-block-uagb-icon-list-child:has(> a:empty):hover .uagb-icon-list__label {
	text-decoration: underline;
	text-decoration-color: var(--md-tertiary);
	text-underline-offset: 0.2em;
}

/* ---------- Inline notice → ruled note with a serif title ---------- */

.wp-block-uagb-inline-notice {
	position: relative;
	overflow: hidden;
	margin-block: 2rem !important;
	border: 1px solid var(--md-outline-variant) !important;
	border-left: 3px solid var(--md-tertiary) !important;
	border-radius: 0 !important;
	background: var(--md-surface-container-lowest) !important;
	box-shadow: none;
}

.wp-block-uagb-inline-notice .uagb-notice-close-button,
.wp-block-uagb-inline-notice .uagb-notice-dismiss {
	display: none !important;
}

.wp-block-uagb-inline-notice .uagb-notice-title {
	box-sizing: border-box;
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 1.25rem 1.5rem 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	color: var(--md-on-surface) !important;
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.375rem !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
}

.wp-block-uagb-inline-notice .uagb-notice-text {
	padding: 0.75rem 1.5rem 1.5rem !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	color: var(--md-on-surface) !important;
}

.wp-block-uagb-inline-notice .uagb-notice-text > :first-child {
	margin-top: 0;
}

.wp-block-uagb-inline-notice .uagb-notice-text > :last-child {
	margin-bottom: 0;
}

.wp-block-uagb-inline-notice.uagb-inline_notice__align-left { text-align: left; }
.wp-block-uagb-inline-notice.uagb-inline_notice__align-center { text-align: center; }
.wp-block-uagb-inline-notice.uagb-inline_notice__align-right { text-align: right; }

/* ---------- Info box ---------- */

.wp-block-uagb-info-box {
	position: static !important;
	text-align: left;
}

.wp-block-uagb-info-box .uagb-ifb-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
}

.wp-block-uagb-info-box .uagb-ifb-icon-wrap {
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border: 1px solid var(--md-tertiary);
	color: var(--md-tertiary);
}

.wp-block-uagb-info-box .uagb-ifb-icon-wrap svg {
	width: 1.5rem !important;
	height: 1.5rem !important;
	fill: currentColor !important;
	color: inherit !important;
}

.wp-block-uagb-info-box .uagb-ifb-title {
	margin: 0 !important;
	color: var(--md-on-surface) !important;
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.375rem !important;
	font-weight: 500 !important;
	line-height: 1.3;
	text-wrap: balance;
}

.wp-block-uagb-info-box .uagb-ifb-separator {
	width: 2.5rem !important;
	height: 2px;
	margin: 0 !important;
	border: 0 !important;
	background: var(--md-tertiary);
}

.wp-block-uagb-info-box .uagb-ifb-desc {
	margin: 0;
	color: var(--md-on-surface-variant) !important;
}

.wp-block-uagb-info-box .uagb-ifb-button-wrapper {
	margin: 0.25rem 0 0;
}

/* Button: the theme's square, uppercase outline button. */
.wp-block-uagb-info-box .uagb-infobox-cta-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 2.75rem;
	padding: 0.75rem 1.25rem !important;
	border: 1px solid var(--md-on-surface) !important;
	border-radius: 0 !important;
	background: none !important;
	color: var(--md-on-surface) !important;
	font-size: 0.8125rem !important;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: background-color 0.2s var(--md-ease, ease), color 0.2s var(--md-ease, ease);
}

.wp-block-uagb-info-box .uagb-infobox-cta-link:hover {
	background: var(--md-on-surface) !important;
	color: var(--md-surface) !important;
}

.wp-block-uagb-info-box .uagb-infobox-cta-link svg {
	width: 1rem !important;
	height: 1rem !important;
	fill: currentColor !important;
}

/* ---------- Separator (with optional text or icon) ---------- */

.wp-block-uagb-separator {
	margin-block: clamp(2rem, 5vw, 3rem) !important;
	text-align: center;
	line-height: 1.3;
}

.wp-block-uagb-separator .wp-block-uagb-separator__inner {
	display: flex !important;
	align-items: center;
	gap: 1rem;
	width: 100% !important;
	margin: 0 auto;
	border: 0 !important;
	background: none !important;
}

.wp-block-uagb-separator .wp-block-uagb-separator__inner::before,
.wp-block-uagb-separator .wp-block-uagb-separator__inner::after {
	content: "" !important;
	flex: 1 1 auto;
	height: 1px;
	border: 0 !important;
	background: var(--md-outline-variant) !important;
	-webkit-mask: none !important;
	mask: none !important;
}

.wp-block-uagb-separator .wp-block-uagb-separator-element {
	flex: none;
	margin: 0 !important;
	color: var(--md-tertiary);
}

.wp-block-uagb-separator .wp-block-uagb-separator-element svg {
	width: 1rem !important;
	height: 1rem !important;
	fill: currentColor !important;
}

.wp-block-uagb-separator .uagb-html-tag {
	margin: 0 !important;
	padding: 0;
	background: none !important;
	color: var(--md-tertiary) !important;
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

/* ---------- Image ---------- */

.wp-block-uagb-image {
	margin-block: 1.5rem;
}

.wp-block-uagb-image__figure {
	position: relative;
	display: flex;
	flex-direction: column;
	max-width: 100%;
	margin: 0;
}

.wp-block-uagb-image__figure img {
	max-width: 100%;
	height: auto;
	border-radius: 0;
}

.wp-block-uagb-image--align-center .wp-block-uagb-image__figure { align-items: center; }
.wp-block-uagb-image--align-right .wp-block-uagb-image__figure { align-items: flex-end; }

.wp-block-uagb-image__figure figcaption {
	margin-top: 0.5rem;
	color: var(--md-on-surface-variant);
	font-size: 0.875rem;
	font-style: italic;
	text-align: left;
}

/* Logos in a cell (business partners, associations): a fixed stage, never stretched. */
.ks-entry .wp-block-uagb-container:not(:has(> .wp-block-uagb-container)) > .wp-block-uagb-image {
	margin: 0;
}

.ks-entry .wp-block-uagb-container:not(:has(> .wp-block-uagb-container)) > .wp-block-uagb-image .wp-block-uagb-image__figure {
	display: grid;
	place-items: center;
	height: 7.5rem;
}

.ks-entry .wp-block-uagb-container:not(:has(> .wp-block-uagb-container)) > .wp-block-uagb-image img {
	width: auto !important;
	max-width: 100%;
	max-height: 7.5rem;
	object-fit: contain;
}

body:not(.ks-partners-color) .ks-entry .wp-block-uagb-container:not(:has(> .wp-block-uagb-container)) > .wp-block-uagb-image img {
	filter: grayscale(1);
	opacity: 0.85;
	transition: filter 0.2s var(--md-ease, ease), opacity 0.2s var(--md-ease, ease);
}

body:not(.ks-partners-color) .ks-entry .wp-block-uagb-container:not(:has(> .wp-block-uagb-container)):hover > .wp-block-uagb-image img {
	filter: none;
	opacity: 1;
}

/* ---------- Old section / columns ---------- */

.wp-block-uagb-section {
	margin-block: 1.5rem;
}

.wp-block-uagb-columns .uagb-columns__inner-wrap,
.wp-block-uagb-columns > .uagb-columns__wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
}

.wp-block-uagb-column {
	flex: 1 1 280px;
	min-width: 0;
}

/* Spectra Lottie needs its script; hide the empty box once the plugin is gone. */
.wp-block-uagb-lottie:empty {
	display: none;
}

/* ---------- Mobile ---------- */

@media (max-width: 599.98px) {
	.wp-block-uagb-inline-notice .uagb-notice-title {
		padding: 1rem 1.25rem 0 !important;
		font-size: 1.25rem !important;
	}

	.wp-block-uagb-inline-notice .uagb-notice-text {
		padding: 0.75rem 1.25rem 1.25rem !important;
	}

	.ks-entry .wp-block-uagb-container:not(.uagb-is-root-container):not(:has(> .wp-block-uagb-container)) {
		margin-right: 0 !important;
	}
}
