.sg-owner-only{display:none!important}body.sg-has-listing .sg-owner-only{display:inline-block!important}
  /* ===== mobile / tablet header: Join left, logo centred, menu right ===== */
  @media (max-width: 1024px) {
    header .nav { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; column-gap: 12px; }
    header .nav > .logo { grid-column: 2; grid-row: 1; justify-self: center; }
    header .nav > .nav-links { display: none !important; }
    header .nav > .nav-cta { display: contents; }
    header .nav .nav-cta .btn-cedar { display: inline-flex !important; grid-column: 1; grid-row: 1; justify-self: start; order: 0; white-space: nowrap; }
    header .nav .nav-cta .nav-toggle { display: inline-flex; grid-column: 3; grid-row: 1; justify-self: end; margin-right: -10px; order: 0; }
    header .nav .nav-cta .sg-auth-slot,
    header .nav .nav-cta .btn-ghost { display: none !important; }
  }

  /* announcement bar: short, one line everywhere */
  .announcement { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .announcement b { font-weight: 600; }
  .announcement em { color: #EAC894; font-style: italic; }
  @media (max-width: 480px) { .announcement { font-size: 12px; letter-spacing: 0.02em; padding: 8px 12px; } }

  @media (max-width: 520px) { .announcement .ann-lead { display: none; } .announcement { letter-spacing: 0.01em; } }

  /* no light strip past the bottom on phones & tablets: the area beyond the page edge (overscroll / bounce)
     matches the dark footer, and the page doesn't bounce past its ends where browsers allow it */
  html { background-color: #1C1810; }
  html, body { overscroll-behavior-y: none; }
  /* Phones (and in-app browsers like Instagram's) paint the strip past the bottom edge — and the
     bottom browser bar — from the page background, so the page itself is dark and the content cream. */
  body { background: linear-gradient(var(--cream), var(--cream)) top left / 100% 600px no-repeat, #1C1810; }
  #main { background-color: var(--cream); }
