/* ==========================================================================
   Elixerra — dynamic block styles (brand, contact details, language switcher,
   animated figure, breadcrumbs).
   Loaded on every page: these blocks live in the header and the footer, so
   their styles must not depend on the contact form being present.
   ========================================================================== */


.elx-brand__link {
	display: inline-flex;
	flex-direction: column;
	gap: 0.28em;
	text-decoration: none;
	color: inherit;
}

.elx-brand__name {
	font-family: var(--wp--preset--font-family--heading, Georgia, serif);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: currentColor;
	transition: color 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.elx-brand--small .elx-brand__name { font-size: 1.05rem; letter-spacing: 0.18em; }
.elx-brand--medium .elx-brand__name { font-size: 1.5rem; }
.elx-brand--large .elx-brand__name { font-size: clamp(2rem, 1.4rem + 2.4vw, 3.2rem); letter-spacing: 0.16em; }

.elx-brand__tagline {
	font-family: var(--wp--preset--font-family--body, sans-serif);
	font-size: 0.6rem;
	font-weight: 400;
	letter-spacing: 0.34em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold, #c9a24b);
}

.elx-brand--large .elx-brand__tagline { font-size: 0.72rem; }

.elx-brand__link:hover .elx-brand__name {
	color: var(--wp--preset--color--gold, #c9a24b);
}

/* Contact details */
.elx-contact {
	display: grid;
	gap: 1.4rem;
}

.elx-contact--row {
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.elx-contact__item {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.elx-contact__label {
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold, #c9a24b);
}

.elx-contact__value {
	font-size: 1.02rem;
	line-height: 1.55;
}

.elx-contact__value a {
	color: inherit;
	text-decoration: none;
	border-block-end: 1px solid color-mix(in srgb, currentColor 35%, transparent);
	transition: border-color 0.3s ease, color 0.3s ease;
}

.elx-contact__value a:hover {
	color: var(--wp--preset--color--gold, #c9a24b);
	border-color: var(--wp--preset--color--gold, #c9a24b);
}

/* Language switcher */
.elx-langs {
	display: inline-flex;
	align-items: center;
	gap: 0.15rem;
}

.elx-lang {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.35rem;
	padding: 0.4rem 0.55rem;
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-decoration: none;
	color: inherit;
	opacity: 0.62;
	border-radius: 999px;
	transition: opacity 0.28s ease, background-color 0.28s ease, color 0.28s ease;
}

.elx-lang:hover {
	opacity: 1;
	color: var(--wp--preset--color--gold, #c9a24b);
}

.elx-lang.is-current {
	opacity: 1;
	color: var(--wp--preset--color--ink, #0e060f);
	background: var(--wp--preset--color--gold, #c9a24b);
}

/* Animated figure */
.elx-stat {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.elx-stat__value {
	display: flex;
	align-items: baseline;
	gap: 0.1em;
	font-family: var(--wp--preset--font-family--heading, Georgia, serif);
	font-size: clamp(2.1rem, 1.5rem + 2vw, 3.4rem);
	line-height: 1;
	color: var(--wp--preset--color--gold, #c9a24b);
}

.elx-stat__prefix:empty { display: none; }

.elx-stat__label {
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: currentColor;
	opacity: 0.8;
}

.elx-stat__note {
	font-size: 0.88rem;
	line-height: 1.6;
	opacity: 0.66;
	max-width: 30ch;
}

/* Breadcrumbs */
.elx-crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem;
	font-size: 0.78rem;
	letter-spacing: 0.06em;
}

.elx-crumbs a {
	color: inherit;
	opacity: 0.68;
	text-decoration: none;
	transition: opacity 0.25s ease, color 0.25s ease;
}

.elx-crumbs a:hover {
	opacity: 1;
	color: var(--wp--preset--color--gold, #c9a24b);
}

.elx-crumbs__sep {
	opacity: 0.34;
}

.elx-crumbs [aria-current="page"] {
	color: var(--wp--preset--color--gold, #c9a24b);
}
