/* wpagent/logo — structural CSS (P03). Non-default prop values arrive as
 * custom properties (--wpab-lg-*) from the style engine (style-rules.php);
 * the fallbacks below are the registry defaults. */
.wpab-logo {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	max-width: 100%;
	gap: var(--wpab-lg-gap, 10px);
	color: inherit;
	text-decoration: none;
}
.wpab-logo--column {
	flex-direction: column;
}
/* Two classes: WooCommerce's ".woocommerce-page img { height: auto }" (0,1,1)
 * must not resize the logo on shop pages. */
.wpab-logo > .wpab-logo__image {
	display: block;
	width: auto;
	min-width: 0;
	max-width: 100%;
	height: var(--wpab-lg-img-h, 40px);
	object-fit: contain;
	object-position: left center;
}
.wpab-logo__mark {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	color: var(--wpab-lg-icon-color, currentColor);
}
.wpab-logo__mark.has-tile {
	width: var(--wpab-lg-tile-size, 40px);
	height: var(--wpab-lg-tile-size, 40px);
	border-radius: var(--wpab-lg-tile-radius, 10px);
	background: var(--wpab-lg-tile, transparent);
}
.wpab-logo__mark svg {
	width: var(--wpab-lg-icon, 22px);
	height: var(--wpab-lg-icon, 22px);
}
.wpab-logo__text {
	display: flex;
	flex-direction: column;
	gap: var(--wpab-lg-text-gap, 2px);
	min-width: 0;
}
/* In a header bar the lockup gives way first: it takes only the room the
 * menu, cart, buttons and toggle leave (basis 0, never wider than itself,
 * 4rem floor), and a long title or tagline is cut with an ellipsis. */
.wpab-header__inner > .wpab-logo {
	flex: 1 1 0%;
	min-width: min(4rem, 100%);
	max-width: max-content;
}
.wpab-header__inner .wpab-logo__title,
.wpab-header__inner .wpab-logo__tagline {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
/* barShrink never (per breakpoint): the lockup keeps its full width. */
@media (max-width: 767px) {
	.wpab-header__inner > .wpab-logo.wpab-logo--keep-base {
		flex: none;
		max-width: none;
	}
	.wpab-header__inner .wpab-logo--keep-base .wpab-logo__text > * {
		overflow: visible;
		text-overflow: clip;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.wpab-header__inner > .wpab-logo.wpab-logo--keep-md {
		flex: none;
		max-width: none;
	}
	.wpab-header__inner .wpab-logo--keep-md .wpab-logo__text > * {
		overflow: visible;
		text-overflow: clip;
	}
}
@media (min-width: 1025px) {
	.wpab-header__inner > .wpab-logo.wpab-logo--keep-lg {
		flex: none;
		max-width: none;
	}
	.wpab-header__inner .wpab-logo--keep-lg .wpab-logo__text > * {
		overflow: visible;
		text-overflow: clip;
	}
}
.wpab-logo--align-center .wpab-logo__text {
	align-items: center;
	text-align: center;
}
/* Title and tagline side by side, sharing the text baseline. */
.wpab-logo--text-row .wpab-logo__text,
.wpab-logo--text-row.wpab-logo--align-center .wpab-logo__text {
	flex-direction: row;
	align-items: baseline;
}
.wpab-logo--text-row.wpab-logo--align-center .wpab-logo__text {
	justify-content: center;
}
.wpab-logo__title {
	color: var(--wpab-lg-color, inherit);
	font-family: var(--wpab-lg-font, var(--wp--custom--font--heading, inherit));
	font-size: var(--wpab-lg-size, 20px);
	font-weight: var(--wpab-lg-weight, 700);
	letter-spacing: var(--wpab-lg-tracking, 0px);
	line-height: 1.1;
}
/* Letter-spaced text stays optically centred: drop the trailing spacing. */
.wpab-logo--align-center .wpab-logo__title {
	margin-inline-end: calc(-1 * var(--wpab-lg-tracking, 0px));
}
.wpab-logo--align-center .wpab-logo__tagline {
	margin-inline-end: calc(-1 * var(--wpab-lg-tag-tracking, 0.12em));
}
/* align per breakpoint (base < 768 ≤ md < 1025 ≤ lg): centre, with the
 * tracking compensation, only where the value is center. */
@media (max-width: 767px) {
	.wpab-logo--align-center-base .wpab-logo__text {
		align-items: center;
		text-align: center;
	}
	.wpab-logo--text-row.wpab-logo--align-center-base .wpab-logo__text {
		align-items: baseline;
		justify-content: center;
	}
	.wpab-logo--align-center-base .wpab-logo__title {
		margin-inline-end: calc(-1 * var(--wpab-lg-tracking, 0px));
	}
	.wpab-logo--align-center-base .wpab-logo__tagline {
		margin-inline-end: calc(-1 * var(--wpab-lg-tag-tracking, 0.12em));
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.wpab-logo--align-center-md .wpab-logo__text {
		align-items: center;
		text-align: center;
	}
	.wpab-logo--text-row.wpab-logo--align-center-md .wpab-logo__text {
		align-items: baseline;
		justify-content: center;
	}
	.wpab-logo--align-center-md .wpab-logo__title {
		margin-inline-end: calc(-1 * var(--wpab-lg-tracking, 0px));
	}
	.wpab-logo--align-center-md .wpab-logo__tagline {
		margin-inline-end: calc(-1 * var(--wpab-lg-tag-tracking, 0.12em));
	}
}
@media (min-width: 1025px) {
	.wpab-logo--align-center-lg .wpab-logo__text {
		align-items: center;
		text-align: center;
	}
	.wpab-logo--text-row.wpab-logo--align-center-lg .wpab-logo__text {
		align-items: baseline;
		justify-content: center;
	}
	.wpab-logo--align-center-lg .wpab-logo__title {
		margin-inline-end: calc(-1 * var(--wpab-lg-tracking, 0px));
	}
	.wpab-logo--align-center-lg .wpab-logo__tagline {
		margin-inline-end: calc(-1 * var(--wpab-lg-tag-tracking, 0.12em));
	}
}
.wpab-logo--italic .wpab-logo__title {
	font-style: italic;
}
.wpab-logo--title-upper .wpab-logo__title {
	text-transform: uppercase;
}
.wpab-logo__tagline {
	color: var(--wpab-lg-tag-color, var(--wp--preset--color--muted, inherit));
	font-size: var(--wpab-lg-tag-size, 11px);
	letter-spacing: var(--wpab-lg-tag-tracking, 0.12em);
	line-height: 1.3;
}
.wpab-logo--tagline-upper .wpab-logo__tagline {
	text-transform: uppercase;
}
/* showTagline per breakpoint (base < 768 ≤ md < 1025 ≤ lg). */
@media (max-width: 767px) {
	.wpab-logo--no-tagline-base .wpab-logo__tagline {
		display: none;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.wpab-logo--no-tagline-md .wpab-logo__tagline {
		display: none;
	}
}
@media (min-width: 1025px) {
	.wpab-logo--no-tagline-lg .wpab-logo__tagline {
		display: none;
	}
}
