/* ==========================================================================
   IP Geolocation API page
   Page-specific styles only. Layout, hero, cards, tables, FAQ, pricing and
   CTA all come from the globally loaded v2_components.css.
   ========================================================================== */

/* Sentence-length hero subtitle needs to come down from the 48px default */
.v2-hero__title-sub.v2-geo-hero__title-sub {
  font-size: 30px;
  line-height: 1.25;
}

/* Hero proof list */
.v2-geo-proof-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: -18px 0 28px;
}
.v2-geo-proof-list__item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--v2-gray);
}

/* Prose blocks that sit under a card grid or table */
.v2-geo-prose {
  max-width: 780px;
  margin: 40px auto 0;
}
.v2-geo-prose h3 {
  font-size: 20px;
  font-weight: 600;
  color: var(--v2-navy);
  margin: 32px 0 12px;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
.v2-geo-prose h3:first-child { margin-top: 0; }
.v2-geo-prose p {
  font-size: 15px;
  color: var(--v2-gray);
  line-height: 1.75;
  margin-bottom: 16px;
}
.v2-geo-prose p:last-child { margin-bottom: 0; }

/* Sub-heading above each response-reference table */
.v2-geo-table-title {
  font-size: 17px;
  font-weight: 600;
  color: var(--v2-navy);
  margin: 40px 0 14px;
  letter-spacing: -0.01em;
}
.v2-geo-table-title:first-of-type { margin-top: 0; }
.v2-geo-table-title code {
  font-family: var(--v2-font-mono);
  font-size: 15px;
  background: var(--v2-soft-bg);
  border: 1px solid var(--v2-border);
  padding: 2px 7px;
  border-radius: 5px;
}

@media (max-width: 768px) {
  .v2-hero__title-sub.v2-geo-hero__title-sub { font-size: 26px; }
  .v2-geo-prose { margin-top: 28px; }
  .v2-geo-table-title { margin-top: 28px; }
}
