.free-ads-bottom[hidden],
.free-ads-companion[hidden],
.free-ads-blocker[hidden],
.free-ads-slot[hidden],
.free-ads-surface[hidden],
.free-ads-row[hidden],
.free-ads-privacy-row[hidden],
.free-ads-profile-anchor[hidden] { display: none !important; }

.free-ads-installed { --free-ad-bottom-height: 0px; }
.free-ads-has-bottom #map { height: calc(100% - var(--free-ad-bottom-height)); }
html.airshow-force-landscape .free-ads-has-bottom #map {
  height: calc(var(--airshow-orientation-vh) - var(--free-ad-bottom-height));
  min-height: calc(var(--airshow-orientation-vh) - var(--free-ad-bottom-height));
  max-height: calc(var(--airshow-orientation-vh) - var(--free-ad-bottom-height));
}
.free-ads-has-bottom #panel { bottom: var(--free-ad-bottom-height); }
.free-ads-has-bottom #seat-view-overlay { bottom: var(--free-ad-bottom-height); }
.free-ads-has-bottom #map-zoom-dock { margin-bottom: var(--free-ad-bottom-height); }
.free-ads-has-bottom .topbar-player-popup {
  max-height: calc(100vh - 174px - var(--free-ad-bottom-height));
}
.free-ads-has-bottom .topbar-player-popup.open.expanded {
  bottom: calc(112px + var(--free-ad-bottom-height));
}
html.airshow-force-landscape .free-ads-has-bottom .topbar-player-popup {
  max-height: calc(var(--airshow-orientation-vh) - 112px - var(--free-ad-bottom-height));
}
.free-ads-bottom {
  position: fixed;
  inset: auto 0 0;
  z-index: 2147483645;
  height: var(--free-ad-bottom-height);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  background: #f5f6f7;
  color: #505861;
}
.free-ads-row {
  box-sizing: border-box;
  display: flex;
  flex: 0 0 122px;
  align-items: flex-start;
  justify-content: center;
  gap: 24px;
  padding: 6px 16px 7px;
  border-top: 1px solid #c8cdd2;
}
.free-ads-privacy-row {
  display: flex;
  flex: 0 0 32px;
  justify-content: flex-end;
  padding: 0 10px;
  box-shadow: inset 0 1px #d7dce1;
}
.free-ads-privacy-button {
  box-sizing: border-box;
  min-height: 32px;
  min-width: 120px;
  padding: 6px 10px;
  border: 0;
  background: transparent;
  color: #364451;
  font: 12px/20px Arial, sans-serif;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.free-ads-privacy-button:hover { background: #e7ebef; }
.free-ads-privacy-button:focus-visible { outline: 2px solid #2167ad; outline-offset: -3px; }
.free-ads-privacy-button:disabled { color: #6b7680; cursor: default; }
.free-ads-slot { flex: 0 0 auto; text-align: left; }
.free-ads-label {
  display: block;
  height: 16px;
  margin-bottom: 2px;
  color: #626b75;
  font: 10px/16px Arial, sans-serif;
  letter-spacing: .03em;
}
.free-ads-surface {
  width: 728px;
  height: 90px;
  background: #ebedef;
}
.free-ads-companion {
  position: fixed;
  left: 18px;
  bottom: calc(92px + var(--free-ad-bottom-height, 0px));
  z-index: 2147483647;
  width: 300px;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 8px;
  background: #f5f6f7;
  box-sizing: content-box;
}
.free-ads-companion .free-ads-surface { width: 300px; height: 250px; }
.free-ads-companion.free-ads-in-profile {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.free-ads-in-profile .free-ads-label { color: #a6afbc; }
.free-ads-profile-anchor { width: 100%; min-height: 268px; flex: 0 0 268px; margin-top: 10px; }
.free-ads-mock {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4a545f;
  background: #e5e9ed;
  font: 14px/1.4 Arial, sans-serif;
}
.free-ads-blocker {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(4, 10, 18, .84);
  color: #f9fafb;
  font-family: Arial, sans-serif;
}
.free-ads-block-card {
  width: min(100%, 390px);
  padding: 26px;
  border: 1px solid #3c4653;
  border-radius: 12px;
  background: #131c28;
  box-shadow: 0 12px 36px #0005;
}
.free-ads-block-card h2 { margin: 0 0 12px; font-size: 23px; line-height: 1.2; }
.free-ads-block-card p { margin: 0 0 24px; color: #c7ced7; line-height: 1.5; }
.free-ads-retry, .free-ads-paid {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 16px;
  border: 1px solid #647386;
  border-radius: 6px;
  font: 600 14px/20px Arial, sans-serif;
  text-align: center;
  cursor: pointer;
}
.free-ads-retry { color: #fff; background: #b90000; border-color: #b90000; }
.free-ads-paid { margin-top: 10px; color: #f9fafb; text-decoration: none; }
.free-ads-retry:focus-visible, .free-ads-paid:focus-visible { outline: 3px solid #8bc5ff; outline-offset: 3px; }
html.airshow-mobile-runtime .free-ads-row { flex-basis: 78px; padding: 4px 0 5px; gap: 0; }
html.airshow-mobile-runtime .free-ads-bottom .free-ads-surface { width: 320px; height: 50px; }
html.airshow-mobile-runtime .free-ads-companion { left: 50%; transform: translateX(-50%); bottom: 78px; }
html.airshow-mobile-runtime .free-ads-companion.free-ads-in-profile { transform: none; }
@media (max-width: 767px) {
  .free-ads-row { flex-basis: 78px; padding: 4px 0 5px; gap: 0; }
  .free-ads-bottom .free-ads-surface { width: 320px; height: 50px; }
  .free-ads-companion { left: 50%; transform: translateX(-50%); bottom: 78px; }
  .free-ads-companion.free-ads-in-profile { transform: none; }
}
