
  /* Comparison pages and fuel-saving guides use in-page inventory instead of
     footer overlays. Other pages retain their existing footer ads. */
  body.geo-location-page.ff-content-ad-space,
  body.geo-location-page.ff-content-ad-space.ff-sticky-footer-measured,
  body.fuel-saving-page.ff-content-ad-space,
  body.fuel-saving-page.ff-content-ad-space.ff-sticky-footer-measured {
    padding-bottom: 0 !important;
    --ff-sticky-footer-measured-occupied: 0px !important;
  }

  /* Also covers late-inserted and refreshed Publift/Seedtag footer creatives. */
  body.geo-location-page [id*="Sticky_Footer"],
  body.geo-location-page [class*="publift-widget-Sticky_Footer"],
  body.geo-location-page #inScreen.st-placement,
  body.geo-location-page .st-placement.inScreen,
  body.geo-location-page .st-adunit-inscreen,
  body.fuel-saving-page [id*="Sticky_Footer"],
  body.fuel-saving-page [class*="publift-widget-Sticky_Footer"],
  body.fuel-saving-page #inScreen.st-placement,
  body.fuel-saving-page .st-placement.inScreen,
  body.fuel-saving-page .st-adunit-inscreen {
    display: none !important;
    pointer-events: none !important;
  }

  .ff-geo-page-shell {
    position: relative;
  }

  .ff-geo-content {
    min-width: 0;
    container-type: inline-size;
  }

  .ff-geo-ad-slot {
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  .ff-geo-ad-slot > [data-fuse]:empty {
    min-height: 0;
  }

  .ff-geo-ad-slot--header:has(iframe) {
    margin-bottom: 1.5rem;
    min-height: 50px;
  }

  .ff-geo-ad-slot:has(iframe)::before {
    content: 'Advertisement';
    display: block;
    margin-bottom: 8px;
    font: 400 10px/1.4 'Inter', sans-serif;
    letter-spacing: .08em;
    color: var(--pp-shell-muted, var(--ff-muted));
  }

  /* Give 320px mobile creatives the viewport width without clipping them. */
  @media (max-width: 680px) {
    .ff-geo-content .ff-geo-ad-slot--header, .ff-geo-content .ff-geo-ad-slot--incontent {
      width: calc(100% + 32px);
      margin-left: -16px;
      margin-right: -16px;
    }
  }

  /* Rail layouts reduce the content width even on large screens. */
  @container (max-width: 700px) {
    :is(#geo-location, #brand-prices, #station-prices) .geo-fuel-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    :is(#geo-location, #brand-prices, #station-prices) .geo-station-row { grid-template-columns: minmax(0, 1fr) 110px; gap: 8px 16px; }
    :is(#geo-location, #brand-prices, #station-prices) .geo-station-price { grid-column: 2; grid-row: 1 / span 2; }
    :is(#geo-location, #brand-prices, #station-prices) .geo-station-action { grid-column: 1; justify-self: start; }
    :is(#geo-location, #brand-prices, #station-prices) .geo-results-footer { flex-direction: column; align-items: stretch; }
    :is(#geo-location, #brand-prices, #station-prices) .geo-section-heading { display: block; }
  }

  .ff-geo-ad-slot--incontent:has(iframe) {
    min-height: 90px;
    margin: 1.5rem 0;
  }

  .ff-geo-ad-slot--mrec:has(iframe) {
    min-height: 250px;
  }

  .ff-geo-ad-slot--lhs:has(iframe) {
    min-height: 600px;
  }

  .ff-geo-desktop-rail,
  .ff-geo-desktop-mrec {
    display: none;
  }

  @media (min-width: 1024px) {
    .ff-geo-page-shell--ads {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 300px;
      gap: 2rem;
      max-width: 80rem;
    }

    .ff-geo-desktop-mrec {
      display: block;
    }

    .ff-geo-desktop-mrec .ff-geo-ad-slot {
      position: sticky;
      top: 6rem;
    }
  }

  @media (min-width: 1440px) {
    .ff-geo-page-shell--ads {
      grid-template-columns: 160px minmax(0, 1fr) 300px;
      max-width: 96rem;
    }

    .ff-geo-desktop-rail {
      display: block;
    }

    .ff-geo-desktop-rail .ff-geo-ad-slot {
      position: sticky;
      top: 6rem;
    }
  }

  @media (min-width: 768px) {
    .ff-geo-ad-slot--header {
      display: none;
    }
  }

  /* Location, brand and station pages share the same balanced ad layout. */
  :is(#geo-location, #brand-prices, #station-prices).ff-geo-page-shell--ads {
    display: block;
    max-width: 1150px;
  }

  :is(#geo-location, #brand-prices, #station-prices) > :is(.ff-geo-desktop-rail, .ff-geo-desktop-mrec) {
    display: none;
    min-width: 0;
  }

  :is(#geo-location, #brand-prices, #station-prices) > :is(.ff-geo-desktop-rail, .ff-geo-desktop-mrec) > .ff-geo-ad-slot {
    position: static;
    top: auto;
  }

  :is(#geo-location, #brand-prices, #station-prices) .ff-geo-ad-slot { container-type: inline-size; }
  :is(#geo-location, #brand-prices, #station-prices) .ff-geo-ad-slot > [data-fuse] { min-width: 0; max-width: 100%; max-width: 100cqw; }
  :is(#geo-location, #brand-prices, #station-prices) .ff-geo-ad-slot--incontent iframe { margin-inline: auto; }

  @media (min-width: 1280px) {
    :is(#geo-location, #brand-prices, #station-prices).ff-geo-page-shell--ads {
      display: grid;
      grid-template-columns: 160px minmax(0, 1fr) 160px;
      grid-template-areas: "left content right";
      gap: 32px;
      width: 100%;
      max-width: 1552px;
      padding-inline: 24px;
    }
    :is(#geo-location, #brand-prices, #station-prices) > .ff-geo-content { grid-area: content; width: 100%; }
    :is(#geo-location, #brand-prices, #station-prices) > .ff-geo-desktop-rail { display: block; grid-area: left; }
    :is(#geo-location, #brand-prices, #station-prices) > .ff-geo-desktop-mrec { display: block; grid-area: right; }
  }

  @media (min-width: 1600px) {
    :is(#geo-location, #brand-prices, #station-prices).ff-geo-page-shell--ads {
      grid-template-columns: 300px minmax(0, 1fr) 300px;
      grid-template-areas: "left content right";
      max-width: 1832px;
    }
  }

  @media (min-width: 1280px) and (min-height: 740px) {
    :is(#geo-location, #brand-prices, #station-prices) > :is(.ff-geo-desktop-rail, .ff-geo-desktop-mrec) > .ff-geo-ad-slot {
      position: sticky;
      top: 6rem;
    }
  }

  @media (min-width: 681px) and (max-width: 1279px) {
    :is(#geo-location, #brand-prices, #station-prices) .ff-geo-ad-slot--incontent { width: calc(100% + 48px); max-width: none; margin-inline: -24px; }
  }

  @media (max-width: 680px) {
    :is(#geo-location, #brand-prices, #station-prices) :is(.ff-geo-ad-slot--header, .ff-geo-ad-slot--incontent) { width: calc(100% + 32px); max-width: none; margin-inline: -16px; }
  }
