/* Forecast shell pilot: retain existing hooks and 50px geometry. */
.w2d-page-header.navbar-fixed,
.w2d-forecast-header.navbar-fixed { position: relative; height: 50px; z-index: 997; }
.w2d-page-header > nav,
.w2d-forecast-header > nav { position: fixed; top: 0; left: 0; width: 100%; height: 50px; line-height: 50px; box-shadow: none; }
.w2d-page-header .nav-wrapper.container,
.w2d-forecast-header .nav-wrapper.container { position: relative; height: 100%; width: 100%; max-width: 1280px; margin: 0 auto; }
.w2d-forecast-header nav .brand-logo { position: absolute; left: 50%; transform: translateX(-50%); display: inline-block; box-sizing: border-box; width: 160px; max-width: calc(100% - 232px); margin: 0; padding: 0; color: #fff; font-size: 1.2rem; line-height: 50px; text-align: center; white-space: nowrap; overflow-x: auto; scrollbar-width: none; text-decoration: none; }
.w2d-page-header nav .sidenav-trigger,
.w2d-forecast-header nav .sidenav-trigger { position: relative; z-index: 1; float: right; display: flex; align-items: center; justify-content: center; width: 44px; height: 50px; margin: 0 10px; padding: 0; color: #fff; text-decoration: none; }
.w2d-page-header .menu-icon,
.w2d-forecast-header .menu-icon { display: block; width: 28px; height: 28px; }
.w2d-forecast-header nav .alerts-button { position: relative; display: block; float: right; box-sizing: border-box; width: 44px; height: 44px; margin: 3px 2.5px; padding: 0; border-radius: 50%; background-size: 20px; background-position: center; background-repeat: no-repeat; }
.w2d-forecast-header #weather-location { position: relative; display: inline-block; margin: 0; z-index: 2; }
.w2d-forecast-header #weather-location input[type=search] { box-sizing: border-box; font-family: inherit; font-size: 16px; }
.w2d-page-header nav a:focus-visible,
.w2d-forecast-header nav a:focus-visible { outline: 2px solid #93c5fd; outline-offset: -2px; }
@media (min-width: 576px) { .w2d-forecast-header nav .brand-logo { width: auto; } }

/* Simple page headers share shell geometry; forecast reserves more action space. */
.w2d-page-header nav .brand-logo { position: absolute; left: 50%; transform: translateX(-50%); display: inline-block; box-sizing: border-box; width: 160px; max-width: calc(100% - 128px); margin: 0; padding: 0; color: #fff; font-size: 1.2rem; line-height: 50px; text-align: center; white-space: nowrap; overflow-x: auto; scrollbar-width: none; text-decoration: none; }
.w2d-page-header nav .button-refresh { position: relative; left: .5em; display: inline-block; box-sizing: border-box; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; overflow: hidden; vertical-align: middle; line-height: 32px; color: #fff; text-align: center; text-decoration: none; cursor: pointer; box-shadow: none; }
.w2d-page-header nav .button-refresh svg { width: 32px; height: 32px; }
@media (min-width: 576px) { .w2d-page-header nav .brand-logo { width: auto; } }

/* Radar headers keep their existing action offsets and page-specific colors. */
.w2d-radar-header nav .brand-logo { max-width: calc(100% - 200px); }
.w2d-radar-header nav .button-makam,
.w2d-radar-header nav .button-makam-rate { position: relative; display: inline-block; box-sizing: border-box; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; overflow: hidden; vertical-align: middle; line-height: 32px; color: #fff; text-align: center; text-decoration: none; cursor: pointer; box-shadow: none; }
.w2d-radar-header nav .button-makam { left: .5em; }
.w2d-radar-header nav .button-makam-rate { float: right; right: .5em; top: .5em; }
.w2d-radar-header nav .info-button { position: relative; display: inline-block; float: right; box-sizing: border-box; width: 32px; height: 32px; padding: 0; border: 0; overflow: hidden; vertical-align: middle; border-radius: 50%; color: #fff; }

/* Shared left action spacing: 8px edge inset and gap, independent of template
   whitespace or intervening dropdown markup. Center 32px actions in the 50px bar.
   Physical left is intentional: these actions stay left in the RTL shell. */
.w2d-page-header nav .button-refresh,
.w2d-radar-header nav .button-makam {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  float: left;
  left: auto;
  margin: 9px 0 9px 8px;
}

/* 24px artwork inside 32px circular actions leaves 4px on every side.
   Older templates set image margins/SVG padding inline; normalize only these
   header icons so those offsets cannot clip them against the ripple boundary. */
.w2d-page-header nav .button-refresh > svg,
.w2d-page-header nav .button-refresh > img,
.w2d-page-header nav .button-refresh > i.material-icons,
.w2d-radar-header nav .button-makam > svg,
.w2d-radar-header nav .button-makam > img,
.w2d-radar-header nav .button-makam > i.material-icons {
  flex: 0 0 24px;
  display: block;
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 24px;
  line-height: 24px;
}

/* Report header states follow the existing scroll-direction handler. */
.w2d-report-thread-header nav .brand-logo { display: flex; flex-direction: column; justify-content: center; width: calc(100% - 176px); max-width: calc(100% - 176px); height: 50px; overflow: hidden; line-height: 1.3; }
.w2d-report-thread-header .report-header-subject,
.w2d-report-thread-header .report-header-author { display: block; width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.w2d-report-thread-header .report-header-author { font-size: 12px; line-height: 18px; }
#navbar.w2d-reports-header { top: 0; }
#navbar.w2d-reports-header > nav { transition: top .3s; }
#navbar.w2d-reports-header.nav-up > nav { top: -50px; }
@media (prefers-reduced-motion: reduce) { #navbar.w2d-reports-header > nav { transition: none; } }

.w2d-two-action-header nav .brand-logo { max-width: calc(100% - 176px); }
.w2d-forecast-header nav .forecast-car-button { position: relative; display: block; float: right; box-sizing: border-box; width: 44px; height: 44px; margin: 3px 2.5px; padding: 0; border-radius: 50%; background-size: 20px; background-position: center; background-repeat: no-repeat; }