.site-header__top { background: var(--pv-soft-background); border-bottom: 1px solid var(--pv-border); display: block; }
.site-header__top > .site-header__top-inner { display: none; }
.weather-ticker { color: #555; font-family: var(--pv-font); height: 36px; overflow: hidden; }
.weather-ticker__inner { align-items: center; display: grid; grid-template-columns: auto minmax(0, 1fr); height: 36px; }
.weather-utility-fixed { align-items: center; display: flex; height: 100%; min-width: 0; }
.weather-ticker__date { flex-shrink: 0; font-size: 0.75rem; font-weight: 500; line-height: 1; padding-right: clamp(0.55rem, 1.2vw, 1.1rem); white-space: nowrap; }
.weather-fixed-city { border-left: 1px solid var(--pv-border); border-right: 1px solid var(--pv-border); flex-shrink: 0; }
.weather-fixed-city .weather-ticker__item { margin-inline: clamp(0.55rem, 1.2vw, 1.1rem); }
.weather-ticker__date-short { display: inline; }
.weather-ticker__date-long { display: none; }
.weather-ticker__viewport { min-width: 0; overflow: hidden; }
.weather-ticker__track { display: flex; min-width: max-content; width: max-content; animation: weather-ticker-scroll var(--weather-ticker-duration, 110s) linear infinite; }
.weather-ticker__group { align-items: center; display: flex; flex-shrink: 0; }
.weather-ticker__item { align-items: center; display: inline-flex; font-size: 0.75rem; font-weight: 550; gap: 0.4rem; margin-inline: clamp(0.75rem, 1.6vw, 1.35rem); white-space: nowrap; }
.weather-ticker__item strong { color: var(--pv-black); font-weight: 700; }
.weather-ticker__separator { color: #aaa; }
.weather-ticker__icon { fill: none; flex: 0 0 auto; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; }
.weather-ticker__icon--clear-day, .weather-ticker__icon--partly-cloudy-day { color: #b98208; }
.weather-ticker__icon--clear-night, .weather-ticker__icon--partly-cloudy-night { color: #6f7f99; }
.weather-ticker__icon--cloudy, .weather-ticker__icon--scattered-clouds, .weather-ticker__icon--mostly-cloudy, .weather-ticker__icon--mist { color: #7a7a7a; }
.weather-ticker__icon--drizzle, .weather-ticker__icon--rain, .weather-ticker__icon--showers, .weather-ticker__icon--freezing-rain { color: #3978a8; }
.weather-ticker__icon--storm { color: #66557d; }
.weather-ticker__icon--snow { color: #5f8796; }
.weather-ticker__viewport:hover .weather-ticker__track,
.weather-ticker__viewport:focus-within .weather-ticker__track { animation-play-state: paused; }
.site-header.is-compact .site-header__top { display: none; }
@keyframes weather-ticker-scroll { to { transform: translateX(-50%); } }
@media (min-width: 40rem) { .weather-ticker__date-short { display: none; } .weather-ticker__date-long { display: inline; } }
@media (max-width: 22.5rem) {
	.weather-ticker__date { padding-right: 0.4rem; }
	.weather-fixed-city .weather-ticker__item { gap: 0.25rem; margin-inline: 0.4rem; }
	.weather-ticker__city-name-full { display: none; }
	.weather-ticker__city-name-compact { display: inline; }
}
@media (min-width: 22.501rem) { .weather-ticker__city-name-compact { display: none; } }
@media (prefers-reduced-motion: reduce) {
	.weather-ticker__viewport { overflow-x: auto; scrollbar-width: thin; }
	.weather-ticker__track { animation: none; }
	.weather-ticker__group[aria-hidden="true"] { display: none; }
}

/* Clima mobile abaixo da navegação, com expansão nativa (details). */
.weather-ticker__mobile-details { display: none; }
@media (max-width: 59.999rem) {
	.site-header__top { display: block; overflow: visible; }
	.weather-ticker { height: auto; max-height: none; overflow: visible; }
	.weather-ticker > .weather-ticker__inner { display: none; }
	.weather-ticker__mobile-details {
		background: #f7f8fa;
		color: #3f4b55;
		display: block;
		font-size: 12px;
	}
	.weather-ticker__mobile-summary {
		align-items: center;
		cursor: pointer;
		display: flex;
		gap: 10px;
		justify-content: space-between;
		list-style: none;
		min-height: 36px;
		padding: 6px 16px;
	}
	.weather-ticker__mobile-summary::-webkit-details-marker { display: none; }
	.weather-ticker__mobile-summary:focus-visible { outline: 2px solid #c90000; outline-offset: -2px; }
	.weather-ticker__mobile-place { align-items: center; display: inline-flex; gap: 6px; min-width: 0; }
	.weather-ticker__mobile-place strong { color: #303942; font-weight: 750; white-space: nowrap; }
	.weather-ticker__mobile-place b { color: #172838; font-weight: 800; white-space: nowrap; }
	.weather-ticker__mobile-date { color: #68717a; font-size: 11px; margin-left: auto; white-space: nowrap; }
	.weather-ticker__mobile-chevron { flex: 0 0 16px; transition: transform .2s ease; }
	.weather-ticker__mobile-details[open] .weather-ticker__mobile-chevron { transform: rotate(180deg); }
	.weather-ticker__mobile-cities {
		background: #fff;
		border-top: 1px solid #e4e8eb;
		display: grid;
		gap: 0 14px;
		grid-template-columns: repeat(2, minmax(0,1fr));
		max-height: 240px;
		overflow-y: auto;
		padding: 8px 16px 12px;
	}
	.weather-ticker__mobile-city { align-items: center; border-bottom: 1px solid #f0f1f3; display: flex; gap: 6px; min-height: 36px; min-width: 0; }
	.weather-ticker__mobile-city span { font-size: 11px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.weather-ticker__mobile-city strong { color: #12283a; font-size: 11px; margin-left: auto; white-space: nowrap; }
	.site-header.is-compact .site-header__top { display: none; }
}
@media (max-width: 22.5rem) {
	.weather-ticker__mobile-summary { gap: 5px; padding-inline: 12px; }
	.weather-ticker__mobile-date { font-size: 10px; }
	.weather-ticker__mobile-cities { gap: 0 9px; padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.weather-ticker__mobile-chevron { transition: none; }
}

/* ===========================================================
 * Portal Verdades 2.12 — cidades em movimento na faixa mobile.
 * Reutiliza a faixa meteorológica existente, inclusive seu cache.
 * =========================================================== */
@media (max-width: 59.999rem) {
	.site-header__top { overflow: hidden; }
	.weather-ticker { height: 39px; max-height: 39px; overflow: hidden; background: #f6f8fa; }
	.weather-ticker > .weather-ticker__inner {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		height: 39px;
		max-height: 39px;
		padding-inline: 12px 0;
	}
	.weather-ticker__mobile-details { display: none; }
	.weather-utility-fixed { height: 39px; }
	.weather-ticker__date { font-size: 10px; color: #65717d; padding-right: 9px; }
	.weather-ticker__date-short { display: inline; }
	.weather-ticker__date-long { display: none; }
	.weather-fixed-city { border-left: 1px solid #dce2e7; border-right: 1px solid #dce2e7; }
	.weather-fixed-city .weather-ticker__item {
		margin-inline: 9px;
		font-size: 11px;
		gap: 4px;
	}
	.weather-ticker__viewport { height: 39px; min-width: 0; }
	.weather-ticker__group { height: 39px; }
	.weather-ticker__item { font-size: 11px; gap: 4px; margin-inline: 10px; }
	.weather-ticker__icon { width: 15px; height: 15px; }
	.weather-ticker__track { animation-duration: var(--weather-ticker-duration, 110s); }
}
@media (max-width: 22.5rem) {
	.weather-ticker > .weather-ticker__inner { padding-inline: 8px 0; }
	.weather-ticker__date { font-size: 9px; padding-right: 6px; }
	.weather-fixed-city .weather-ticker__item { margin-inline: 6px; font-size: 10px; }
	.weather-ticker__item { font-size: 10px; margin-inline: 7px; }
	.weather-ticker__city-name-full { display: inline; }
	.weather-ticker__city-name-compact { display: none; }
}
