.seo-page {
  background: var(--cream);
}

.seo-hero {
  padding: 70px 0 72px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 10%, rgba(255, 111, 130, 0.2), transparent 28%),
    linear-gradient(145deg, #171d30, var(--night));
}

.seo-hero-inner {
  max-width: 1120px;
}

.seo-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 36px;
  color: #99a2b5;
  font-size: 0.68rem;
}

.seo-breadcrumbs a {
  color: var(--acid);
  font-weight: 750;
  text-decoration: none;
}

.seo-page .seo-hero h1 {
  max-width: 900px;
  margin: 12px 0 18px;
  color: #fff;
  font-size: clamp(2.45rem, 7vw, 5.4rem);
  font-weight: 760;
  letter-spacing: -0.065em;
  line-height: 0.98;
}

.seo-hero-inner > p:last-of-type {
  max-width: 760px;
  margin: 0;
  color: #c9ced9;
  font-size: clamp(1rem, 2.2vw, 1.2rem);
  line-height: 1.7;
}

.seo-topic-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 34px;
}

.seo-topic-nav a {
  padding: 9px 12px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  color: #eef1f6;
  background: rgba(255, 255, 255, 0.05);
  font-size: 0.7rem;
  font-weight: 750;
  text-decoration: none;
}

.seo-topic-nav a:hover,
.seo-topic-nav a[aria-current="page"] {
  border-color: var(--pink);
  color: #fff;
  background: rgba(255, 111, 130, 0.14);
}

.seo-area-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
  align-items: center;
  margin-top: 18px;
  color: #929bad;
  font-size: 0.64rem;
}

.seo-area-nav > span {
  width: 100%;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.seo-area-nav a {
  color: #cbd0db;
  font-weight: 700;
  text-underline-offset: 3px;
}

.seo-area-nav a:hover,
.seo-area-nav a[aria-current="page"] {
  color: var(--acid);
}

@media (min-width: 540px) {
  .seo-area-nav > span {
    width: auto;
  }
}

.seo-results-section {
  padding: 68px 0 100px;
}

.seo-results-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  color: var(--body);
  font-size: 0.72rem;
}

.seo-results-summary strong {
  color: var(--night);
  font-size: 0.8rem;
}

.pubs-page .seo-section-title {
  margin: 0 0 30px;
  font-size: clamp(2rem, 5vw, 3.4rem);
}

.seo-listing-grid {
  display: grid;
  gap: 22px;
}

.seo-listing-card {
  --card-accent: var(--pink);
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 24px;
  border: 2px solid var(--night);
  border-radius: 18px;
  background: var(--card);
  box-shadow: 6px 6px 0 var(--night);
}

.seo-listing-card.category-food { --card-accent: #ffad69; }
.seo-listing-card.category-drinks { --card-accent: #ff7e91; }
.seo-listing-card.category-trivia { --card-accent: #b7a7ff; }
.seo-listing-card.category-live-music { --card-accent: #83d8ff; }
.seo-listing-card.category-entertainment { --card-accent: #ffca62; }

.seo-listing-card[hidden] {
  display: none;
}

.seo-listing-topline {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 17px;
  color: var(--body);
  font-size: 0.63rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.seo-listing-topline span:first-child {
  padding: 6px 9px;
  border-radius: 999px;
  color: var(--night);
  background: var(--card-accent);
}

.pubs-page .seo-listing-card h2 {
  margin: 0;
  font-size: clamp(1.55rem, 5vw, 2.15rem);
  letter-spacing: -0.045em;
}

.seo-venue {
  margin: 10px 0 20px;
  color: var(--body);
  font-size: 0.72rem;
  line-height: 1.5;
}

.seo-venue strong {
  color: var(--night);
  font-size: 0.84rem;
  font-weight: 850;
  letter-spacing: -0.015em;
}

.seo-listing-card dl {
  display: grid;
  gap: 0;
  margin: 0;
}

.seo-listing-card dl > div {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid rgba(18, 24, 42, 0.1);
}

.seo-listing-card dt,
.seo-listing-card dd {
  margin: 0;
  font-size: 0.68rem;
  line-height: 1.55;
}

.seo-listing-card dt {
  color: var(--muted);
  font-weight: 800;
}

.seo-listing-card dd {
  color: var(--body);
}

.seo-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.seo-tags li {
  padding: 6px 8px;
  border: 1px solid rgba(18, 24, 42, 0.13);
  border-radius: 999px;
  color: var(--body);
  font-size: 0.6rem;
  font-weight: 700;
}

.seo-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
  padding-top: 22px;
}

.seo-card-actions a {
  padding: 10px 12px;
  border: 1px solid var(--night);
  border-radius: 999px;
  color: var(--night);
  font-size: 0.65rem;
  font-weight: 800;
  text-decoration: none;
}

.seo-card-actions a:first-child {
  color: #fff;
  background: var(--night);
}

.seo-verified {
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 0.59rem;
}

.seo-check-note {
  margin-top: 38px;
  padding: 18px 20px;
  border: 1px solid rgba(18, 24, 42, 0.13);
  border-radius: 14px;
  color: var(--body);
  background: #fff;
  font-size: 0.7rem;
  line-height: 1.6;
}

.seo-empty-tonight {
  margin: 0;
  padding: 28px;
  border: 2px dashed rgba(18, 24, 42, 0.28);
  border-radius: 18px;
  color: var(--body);
  background: #fff;
  font-size: 0.8rem;
  line-height: 1.65;
}

@media (min-width: 720px) {
  .seo-listing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (min-width: 940px) {
  .seo-hero {
    padding: 96px 0 92px;
  }

  .seo-results-section {
    padding: 88px 0 125px;
  }

  .seo-listing-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
