/* ==========================================================================
   Owner panel · local tokens and page shell
   Colours, fonts, radii and shadows come from css/base.css; only sizes that
   exist just on this page live here.
   ========================================================================== */

.page--owner {
  /* Content is centred at 1152px, never closer to the edge than the site gutter */
  --owner-gutter: max(var(--gutter), calc((100% - 1152px) / 2));

  /* Controls */
  --owner-control-height: 44px;
  --owner-panel-padding: 16px 18px;
  --owner-dot-size: 8px;

  /* Listing card: fixed height that fits every notice/panel state (see listings.css) */
  --owner-card-height: 242px;

  color: var(--color-text);
}

@media (max-width: 900px) {
  .page--owner { --owner-gutter: 24px; }
}

/* Phones (only this page has a viewport meta tag): tighter gutters, and the shared
   header and footer are adapted here so other pages are not affected */
@media (max-width: 600px) {
  .page--owner { --owner-gutter: 16px; }

  .page--owner .site-header { padding: 12px 16px; }
  .page--owner .site-footer { padding: 40px 16px 24px; }
  .page--owner .site-footer__top { grid-template-columns: 1fr 1fr; }
  .page--owner .site-footer__about { grid-column: 1 / -1; }
}

.owner-main {
  display: flex;
  flex-direction: column;
}

.owner-main button:focus-visible,
.owner-main select:focus-visible,
.owner-main a:focus-visible,
.owner-contact a:focus-visible {
  outline: 2px solid var(--color-teal);
  outline-offset: 2px;
}

/* Loading / invalid link message */
.owner-state {
  padding: 0 var(--owner-gutter) 56px;
  text-align: center;
}
