/* Reservation geometry from noler-stock. These slots do not load an ad provider. */
:root {
  --header-ad-height: 100px;
  --footer-ad-height: 100px;
}
.ad-header {
  padding: 0 0 5px;
}
.header-ad-placeholder {
  width: 100%;
  max-width: none;
  height: var(--header-ad-height);
  margin: 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px dashed #bfbfbf;
  color: #777;
  background: #fafafa;
  font: 700 7px/1 system-ui;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.footer-ad-placeholder {
  width: 100%;
  max-width: none;
  min-height: var(--footer-ad-height);
  height: auto;
  margin: 10px auto 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px dashed #bfbfbf;
  color: #777;
  background: #fafafa;
  font: 700 7px/1 system-ui;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
html[data-ad-display-mode="off"] .header-ad-placeholder,
html[data-ad-display-mode="off"] .footer-ad-placeholder {
  display: none;
}
html:is(
    [data-ad-display-mode="off"],
    [data-ad-entitled="true"],
    [data-ad-header-closed="true"]
  )
  .ad-header {
  padding: 0;
}
@media (min-width: 760px) {
  :root {
    --header-ad-height: 90px;
    --footer-ad-height: 90px;
  }
}
/* Shared ad layout for entity pages and both screeners. Width belongs to the
   existing footer rules; responsive creatives may grow only vertically. */
.footer-ad-placeholder {
  min-width: 0;
}
.footer-ad-placeholder > * {
  min-width: 0;
  max-width: 100%;
}
.footer-ad-placeholder img,
.footer-ad-placeholder video {
  height: auto;
}
.mobile-bottom-ad {
  display: none;
}
:is(.header-ad-placeholder, .footer-ad-placeholder) {
  position: relative;
}
.ad-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  color: #555;
  background: #fafafa;
  font: 18px/24px system-ui;
  cursor: pointer;
}
html:is([data-ad-entitled="true"], [data-ad-header-closed="true"])
  .header-ad-placeholder,
html:is([data-ad-entitled="true"], [data-ad-footer-closed="true"])
  .footer-ad-placeholder,
html[data-ad-entitled="true"] .ad-rail {
  display: none;
}
@media (max-width: 559px) {
  :root {
    --mobile-ad-space: calc(
      var(--mobile-bottom-ad-height, 50px) + env(safe-area-inset-bottom)
    );
  }
  html:is(
    [data-ad-display-mode="off"],
    [data-ad-entitled="true"],
    [data-ad-mobile-bottom-closed="true"]
  ) {
    --mobile-ad-space: 0px;
  }
  html:has(.mobile-bottom-ad),
  body:has(.mobile-bottom-ad) {
    overflow-y: hidden;
  }
  body:has(.mobile-bottom-ad) > .app-shell {
    min-height: 0;
    height: calc((100dvh - var(--mobile-ad-space)) * var(--ad-page-scale, 1));
    overflow-y: auto;
    overflow-x: hidden;
  }
  .mobile-bottom-ad {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 19;
    zoom: var(--ad-page-scale, 1);
    width: 100%;
    max-width: 100%;
    height: var(--mobile-ad-space);
    padding: 0 env(safe-area-inset-right) env(safe-area-inset-bottom)
      env(safe-area-inset-left);
    display: grid;
    place-items: center;
    box-sizing: border-box;
    overflow: hidden;
    border-top: 1px solid #bfbfbf;
    color: #777;
    background: #fafafa;
    font: 700 7px system-ui;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }
  html:is(
      [data-ad-display-mode="off"],
      [data-ad-entitled="true"],
      [data-ad-mobile-bottom-closed="true"]
    )
    .mobile-bottom-ad {
    display: none;
  }
}
