/* Theme-safe overrides for public screener components. Loaded after page CSS. */
.screen-share-hero {
	border-bottom-color: var(--pub-border-soft);
}

.screen-market-switch {
	background: var(--pub-surface);
	border-color: var(--pub-border);
}

.screen-market-switch a {
	background: transparent;
	color: var(--pub-ink);
}

.screen-market-switch a + a {
	border-left: 1px solid var(--pub-border);
}

.screen-market-switch a:hover:not(.is-active),
.screen-market-switch a:focus-visible:not(.is-active) {
	background: var(--pub-surface-muted);
	color: var(--pub-ink);
	outline: 0;
}

.screen-market-switch a.is-active {
	background: #2563eb;
	color: #fff;
}

.screen-directory-card > p:not(.screen-share-eyebrow),
.screen-directory-card ul,
.screen-hub-card__body > p,
.screen-hub-empty p,
.screen-share-panel p,
.screen-share-image-card figcaption,
.screen-share-section-heading > span,
.screen-share-table th,
.screen-share-byline,
.screen-share-disclaimer,
.screen-share-panel dt {
	color: var(--pub-muted);
}

.screen-share-text-link,
.screen-share-link-button,
.screen-hub-date-nav a {
	color: var(--pub-blue-strong);
}

.screen-share-image-card img {
	background: var(--pub-surface-muted);
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.screen-hub-filters {
	display: flex;
	align-items: end;
	gap: 0.85rem;
	margin-bottom: 1rem;
	padding: 1rem;
	border: 1px solid var(--pub-border);
	background: var(--pub-surface);
}

.screen-hub-filter {
	display: grid;
	flex: 1 1 220px;
	gap: 0.4rem;
	max-width: 300px;
}

.screen-hub-country {
	display: grid;
	flex: 0 0 auto;
	gap: 0.4rem;
}

.screen-hub-country > span,
.screen-hub-filter > span,
.screen-hub-filter__label {
	color: var(--pub-muted);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.screen-hub-country .screen-market-switch {
	height: 44px;
}

.screen-hub-country .screen-market-switch a {
	display: grid;
	min-width: 64px;
	place-items: center;
	padding: 0 1rem;
}

.screen-hub-filter--date {
	flex: 0 0 auto;
	width: max-content;
	max-width: 100%;
}

.screen-hub-date-control {
	display: flex;
	align-items: stretch;
	gap: 0;
}

.screen-hub-date-control input {
	position: relative;
	z-index: 1;
	min-width: 0;
	width: 205px;
	flex: 0 0 205px;
}

.screen-hub-date-control > * + * {
	margin-left: -1px;
}

.screen-hub-date-arrow {
	display: inline-grid;
	flex: 0 0 44px;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--pub-border);
	background: var(--pub-surface);
	color: var(--pub-blue-strong);
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
}

.screen-hub-date-arrow:hover,
.screen-hub-date-arrow:focus-visible {
	position: relative;
	z-index: 2;
	border-color: var(--pub-blue);
	background: var(--pub-blue-soft);
	color: var(--pub-blue-strong);
	outline: 0;
}

.screen-hub-date-arrow.is-disabled {
	background: var(--pub-surface-muted);
	color: var(--pub-soft);
	cursor: not-allowed;
	opacity: 0.58;
}

.screen-hub-filter select,
.screen-hub-filter input {
	width: 100%;
	height: 44px;
	border: 1px solid var(--pub-border);
	border-radius: 0;
	background: var(--pub-surface);
	padding: 0 0.8rem;
	color: var(--pub-ink);
	font: inherit;
	font-weight: 650;
}

.screen-hub-filter select:focus,
.screen-hub-filter input:focus {
	border-color: var(--pub-blue);
	outline: 2px solid color-mix(in srgb, var(--pub-blue) 28%, transparent);
	outline-offset: 1px;
}

.screen-hub-date-nav {
	justify-content: center;
}

.screen-hub-data-note {
	margin-bottom: 1rem;
	padding: 0.85rem 1rem;
	border: 1px solid color-mix(in srgb, var(--pub-blue) 38%, var(--pub-border));
	border-left: 4px solid var(--pub-blue);
	background: var(--pub-blue-soft);
	color: var(--pub-muted);
	font-size: 0.9rem;
	line-height: 1.55;
}

.screen-hub-data-note strong {
	color: var(--pub-ink);
}

.screen-hub-card__image-frame {
	display: grid;
	place-items: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-bottom: 1px solid var(--pub-border-soft);
	background: var(--pub-surface-muted);
}

.screen-hub-card__image-frame img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	aspect-ratio: auto;
	object-fit: contain;
	object-position: center;
	background: transparent;
}

@media (max-width: 700px) {
	.screen-hub-filters {
		align-items: stretch;
		flex-direction: column;
	}

	.screen-hub-filter {
		flex-basis: auto;
		max-width: none;
	}

	.screen-hub-filter--date {
		width: 100%;
	}

	.screen-hub-date-control input {
		width: auto;
		flex: 1 1 auto;
	}

	.screen-hub-country .screen-market-switch {
		width: 100%;
	}

	.screen-hub-country .screen-market-switch a {
		flex: 1 1 0;
		width: auto;
	}

}
