.mp-top-banner {
  display: flex;
  width: 100%;
  justify-content: center;
  padding: 16px 10px;
  background: var(--mp-color-page);
  font-family: var(--mp-font-sans);
}
.mp-top-banner, .mp-top-banner * { box-sizing: border-box; }
.mp-top-banner__slot { flex: 0 0 auto; width: var(--mp-top-banner-width); height: var(--mp-top-banner-height); }
.mp-top-banner__slot > [hidden] { display: none !important; }
.mp-top-banner__house {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  height: 100%;
  padding: 12px 20px;
  border: 1px solid var(--mp-color-border);
  border-radius: 10px;
  background: var(--mp-color-surface);
  color: var(--mp-color-text-strong);
  text-align: left;
  text-decoration: none;
  transition: border-color 150ms ease;
}
.mp-top-banner__copy { display: grid; flex: 1 1 auto; gap: 3px; min-width: 0; }
.mp-top-banner__headline { font-size: 1.2rem; font-weight: 500; line-height: 1.2; letter-spacing: -0.025em; }
.mp-top-banner__subline { color: var(--mp-color-text-muted); font-size: 0.76rem; line-height: 1.4; }
.mp-top-banner__mobile-headline { display: none; }
.mp-top-banner__action { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 10px; min-height: 40px; padding: 9px 13px; border: 1px solid color-mix(in srgb, #6f91b5 26%, var(--mp-color-surface)); border-radius: 6px; background: color-mix(in srgb, #6f91b5 14%, var(--mp-color-surface)); color: var(--mp-color-text-strong); font-size: 0.8rem; font-weight: 600; line-height: 1.3; white-space: nowrap; }
.mp-top-banner__action svg { width: 16px; height: 16px; flex: 0 0 16px; }
.mp-top-banner__house:focus-visible { outline: 3px solid var(--mp-color-focus-soft); outline-offset: 3px; }
@media (hover: hover) { .mp-top-banner__house:hover { border-color: var(--mp-color-border-strong); } }
@media (max-width: 768px) {
  .mp-top-banner { padding: 6px 10px 12px; }
  .mp-top-banner__house { gap: 10px; padding: 8px 12px; border-radius: 7px; }
  .mp-top-banner__headline, .mp-top-banner__subline, .mp-top-banner__action > span { display: none; }
  .mp-top-banner__mobile-headline { display: block; font-size: 0.83rem; font-weight: 500; line-height: 1.3; letter-spacing: -0.015em; }
  .mp-top-banner__action { min-height: 28px; padding: 4px; }
}
