/* Global footer follows content direction; columns stack without horizontal overflow. */
.t27-footer {
	padding-block: 0;
	padding-inline: var(--t27-gutter, 24px);
}
.t27-footer-grid,
.t27-footer-text {
	max-width: calc(var(--t27-content-width, 1200px) - 2 * var(--t27-gutter, 24px));
	margin-inline: auto;
}
.t27-footer-text {
	min-width: 0;
	overflow-wrap: anywhere;
}
.t27-footer-text > :first-child {
	margin-block-start: 0;
}
.t27-footer-text > :last-child {
	margin-block-end: 0;
}
.t27-footer-text img {
	max-width: 100%;
	height: auto;
}
.t27-footer-grid {
	display: grid;
	grid-template-columns: repeat(var(--footer-columns), minmax(0, 1fr));
	gap: 24px;
}
.t27-footer-column {
	box-sizing: border-box;
	min-width: 0;
	overflow-wrap: anywhere;
}
.t27-footer .t27-menu,
.t27-footer-contacts {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
}
.t27-footer .t27-submenu {
	position: static;
	box-shadow: none;
	min-width: 0;
}
/* Footer branches remain inline accordions at every depth and screen width. */
.t27-footer .t27-submenu .t27-submenu {
	padding-inline-start: 12px;
	border-inline-start: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}
.t27-footer .t27-menu :is(a, summary) {
	max-width: 100%;
	white-space: normal;
	overflow-wrap: anywhere;
}
.t27-footer a {
	min-height: 44px;
	text-decoration: none !important;
}
.t27-footer-address img {
	max-width: 100%;
	height: auto;
}
/* Keep attribution legible, quiet and touch-friendly across both content directions. */
.t27-platform-credit {
	display: flex;
	justify-content: center;
	padding: 12px max(16px, var(--t27-gutter, 24px));
	text-align: center;
}
.t27-platform-credit-link {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 4px 12px;
	min-height: 44px;
	max-width: 100%;
	color: inherit;
	font-size: 12px;
	line-height: 1.7;
	text-decoration: none !important;
	overflow-wrap: anywhere;
}
.t27-platform-credit-link:is(:hover, :focus, :active) {
	color: inherit;
	text-decoration: none !important;
}
.t27-platform-credit-link:focus-visible {
	outline: 1px solid currentColor;
	outline-offset: 4px;
	border-radius: 4px;
}
.t27-platform-credit-link strong {
	font-weight: 700;
}
.t27-platform-credit-link small {
	font-size: inherit;
}
@media (max-width: 767px) {
	.t27-footer {
		padding-inline: 16px;
	}
	.t27-footer-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Explicit menu geometry never changes a layout until its own customization pill is enabled. */
@media (min-width: 768px) {
	.t27-footer[data-t27-menu-footer] .t27-menu {
		display: flex;
		flex-direction: var(--t27-menu-footer-layout-l);
		flex-wrap: wrap;
		gap: var(--t27-menu-footer-gap-block-l) var(--t27-menu-footer-gap-inline-l);
		align-items: var(--t27-menu-footer-items-l);
		justify-content: var(--t27-menu-footer-justify-l);
	}
	.t27-footer[data-t27-menu-footer] .t27-menu > li {
		min-inline-size: 0;
		max-inline-size: 100%;
	}
	.t27-footer[data-t27-menu-footer] .t27-menu > li > a,
	.t27-footer[data-t27-menu-footer] .t27-menu > li > details > summary {
		box-sizing: border-box;
		min-inline-size: 44px;
		min-block-size: 44px;
		max-inline-size: 100%;
		padding-inline: var(--t27-menu-footer-padding-inline-l);
		padding-block: var(--t27-menu-footer-padding-block-l);
		text-align: var(--t27-menu-footer-text-l);
		white-space: normal;
		overflow-wrap: anywhere;
	}
}
@media (max-width: 767px) {
	.t27-footer[data-t27-menu-footer] .t27-menu {
		display: flex;
		flex-direction: var(--t27-menu-footer-layout-s);
		flex-wrap: wrap;
		gap: var(--t27-menu-footer-gap-block-s) var(--t27-menu-footer-gap-inline-s);
		align-items: var(--t27-menu-footer-items-s);
		justify-content: var(--t27-menu-footer-justify-s);
	}
	.t27-footer[data-t27-menu-footer] .t27-menu > li {
		min-inline-size: 0;
		max-inline-size: 100%;
	}
	.t27-footer[data-t27-menu-footer] .t27-menu > li > a,
	.t27-footer[data-t27-menu-footer] .t27-menu > li > details > summary {
		box-sizing: border-box;
		min-inline-size: 44px;
		min-block-size: 44px;
		max-inline-size: 100%;
		padding-inline: var(--t27-menu-footer-padding-inline-s);
		padding-block: var(--t27-menu-footer-padding-block-s);
		text-align: var(--t27-menu-footer-text-s);
		white-space: normal;
		overflow-wrap: anywhere;
	}
}

/* Both public language links use the current header scheme and remain touch/keyboard accessible. */
.t27-language-switch {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex: 0 0 auto;
}

.t27-language-switch a,
.t27-language-switch a:hover,
.t27-language-switch a:focus,
.t27-language-switch a:active {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-inline-size: 44px;
	min-block-size: 44px;
	padding: 8px 12px;
	border: 1px solid currentColor;
	border-radius: 999px;
	color: inherit;
	font: inherit;
	font-size: 0.875em;
	line-height: 1.2;
	white-space: nowrap;
	text-decoration: none;
	box-sizing: border-box;
}

.t27-language-switch a[aria-current] {
	font-weight: 700;
}

.t27-language-switch a:focus-visible {
	outline: 1px solid #748291;
	outline-offset: 2px;
}

.t27-language-switch img {
	display: block;
	inline-size: 24px;
	block-size: 18px;
	object-fit: cover;
}

.t27-language-name-hidden {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
