/*
 * SolvedSeek — Public Frontend Styles
 * Extends brand.css for the user-facing search engine.
 */

/* ── Site Header ──────────────────────────── */
.site-header {
  background: #fff;
  border-bottom: 1px solid #E6E8EC;
  position: sticky;
  top: 0;
  z-index: 100;
}
.site-header__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
  height: 60px;
  display: flex;
  align-items: center;
  gap: 24px;
}
.site-header__logo {
  flex-shrink: 0;
}
.site-header__logo img { display: block; }
.site-header__search {
  flex: 1;
  max-width: 580px;
  position: relative;
}
.site-header__search-input {
  width: 100%;
  padding: 10px 16px 10px 42px;
  font-size: 15px;
  font-family: inherit;
  border: 1px solid #E6E8EC;
  border-radius: 24px;
  color: #203040;
  background: #F4F5F7;
  transition: border-color 150ms, background 150ms, box-shadow 150ms;
}
.site-header__search-input:hover {
  background: #ECEEF2;
}
.site-header__search-input:focus {
  outline: none;
  border-color: #F09030;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(240,144,48,0.08);
}

/* Desktop nav (hidden on mobile) */
.site-header__nav--desktop {
  display: flex;
  gap: 20px;
  margin-left: auto;
}
.site-header__nav--desktop a {
  font-size: 14px;
  font-weight: 500;
  color: #9098A8;
  text-decoration: none;
  transition: color 200ms ease;
}
.site-header__nav--desktop a:hover {
  color: #203040;
  text-decoration: none;
  opacity: 1;
}

/* Burger button (hidden on desktop) */
.site-header__burger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-left: auto;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: #4A5060;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 120ms;
}
.site-header__burger:hover {
  background: #F4F5F7;
}

/* ── Mobile Menu ─────────────────────────── */
.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 200;
  pointer-events: none;
  visibility: hidden;
}
.mobile-menu.is-open {
  pointer-events: auto;
  visibility: visible;
}
.mobile-menu__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(32,48,64,0.4);
  opacity: 0;
  transition: opacity 250ms ease;
}
.mobile-menu.is-open .mobile-menu__backdrop {
  opacity: 1;
}
.mobile-menu__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: 280px;
  max-width: 85vw;
  height: 100%;
  background: #fff;
  box-shadow: -4px 0 24px rgba(32,48,64,0.12);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1);
}
.mobile-menu.is-open .mobile-menu__panel {
  transform: translateX(0);
}
.mobile-menu__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #E6E8EC;
}
.mobile-menu__logo img { display: block; }
.mobile-menu__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: #4A5060;
  cursor: pointer;
  transition: background 120ms;
}
.mobile-menu__close:hover {
  background: #F4F5F7;
}
.mobile-menu__search {
  position: relative;
  padding: 16px 20px 8px;
}
.mobile-menu__search-input {
  width: 100%;
  padding: 10px 16px 10px 40px;
  font-size: 14px;
  font-family: inherit;
  border: 1px solid #E6E8EC;
  border-radius: 10px;
  color: #203040;
  background: #F4F5F7;
}
.mobile-menu__search-input:focus {
  outline: none;
  border-color: #F09030;
  background: #fff;
}
.mobile-menu__nav {
  display: flex;
  flex-direction: column;
  padding: 8px 12px;
  flex: 1;
}
.mobile-menu__nav a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 12px;
  font-size: 15px;
  font-weight: 500;
  color: #203040;
  text-decoration: none;
  border-radius: 10px;
  transition: background 120ms;
}
.mobile-menu__nav a:hover {
  background: #F4F5F7;
  text-decoration: none;
  opacity: 1;
}
.mobile-menu__nav a svg {
  color: #9098A8;
  flex-shrink: 0;
}
.mobile-menu__footer {
  padding: 16px 20px;
  border-top: 1px solid #E6E8EC;
}
.mobile-menu__footer p {
  font-size: 12px;
  color: #9098A8;
  margin: 0;
}

/* ── Home / Search Hero ───────────────────── */
.search-hero {
  text-align: center;
  padding: 120px 24px 100px;
  background: #F8F8F8;
  position: relative;
  overflow: hidden;
}
.search-hero::before {
  content: "";
  position: absolute;
  top: 0; right: 0;
  width: 400px; height: 400px;
  background-image: url("/assets/patterns/dots.svg");
  background-size: 120px;
  opacity: 0.4;
  pointer-events: none;
}
.search-hero::after {
  content: "";
  position: absolute;
  bottom: 0; left: 0;
  width: 300px; height: 300px;
  background-image: url("/assets/patterns/dots.svg");
  background-size: 120px;
  opacity: 0.3;
  pointer-events: none;
}
.search-hero__content {
  position: relative;
  z-index: 1;
  max-width: 640px;
  margin: 0 auto;
}
.search-hero__logo {
  margin-bottom: 32px;
}
.search-hero__logo img {
  height: 44px;
  margin: 0 auto;
}
.search-hero h1 {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  margin-bottom: 8px;
}
.search-hero p {
  color: #9098A8;
  font-size: 16px;
  margin-bottom: 32px;
}

/* ── Search Form ──────────────────────────── */
.search-form {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
}
.search-form__input {
  width: 100%;
  padding: 16px 56px 16px 22px;
  font-size: 17px;
  font-family: inherit;
  border: 2px solid #E6E8EC;
  border-radius: 14px;
  color: #203040;
  background: #fff;
  box-shadow: 0 4px 20px rgba(32,48,64,0.06);
  transition: border-color 200ms, box-shadow 200ms;
}
.search-form__input:focus {
  outline: none;
  border-color: #F09030;
  box-shadow: 0 4px 20px rgba(240,144,48,0.12);
}
.search-form__input::placeholder {
  color: #B8BCC8;
}
.search-form__btn {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 44px; height: 44px;
  border: none;
  border-radius: 10px;
  background: #F09030;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 150ms;
}
.search-form__btn:hover { background: #D87A20; }
.search-form__btn svg { width: 20px; height: 20px; }

/* ── Search Results Page ──────────────────── */
.results-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 28px 24px 64px;
  min-height: 60vh;
}

/* ── Results Meta Bar ────────────────────── */
.results-meta {
  font-size: 13px;
  color: #9098A8;
  margin-bottom: 24px;
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.results-meta__count strong {
  color: #606878;
}
.results-meta__time {
  color: #B8BCC8;
}

/* ── Results List ────────────────────────── */
.results-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ── Individual Result ──────────────────── */
.result {
  background: #fff;
  border: 1px solid #E2E5EA;
  border-radius: 12px;
  padding: 18px 22px;
  transition: border-color 200ms ease, box-shadow 200ms ease;
  animation: resultSlideIn 350ms ease both;
}
.result:nth-child(1)  { animation-delay: 0ms; }
.result:nth-child(2)  { animation-delay: 40ms; }
.result:nth-child(3)  { animation-delay: 80ms; }
.result:nth-child(4)  { animation-delay: 120ms; }
.result:nth-child(5)  { animation-delay: 160ms; }
.result:nth-child(6)  { animation-delay: 200ms; }
.result:nth-child(7)  { animation-delay: 240ms; }
.result:nth-child(8)  { animation-delay: 280ms; }
.result:nth-child(9)  { animation-delay: 320ms; }
.result:nth-child(10) { animation-delay: 360ms; }
@keyframes resultSlideIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
.result:hover {
  border-color: #25848A;
  box-shadow: 0 2px 12px rgba(37,132,138,0.08);
}

/* Inner layout: icon + body */
.result__inner {
  display: flex;
  gap: 14px;
}
.result__icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  background: #F1F3F4;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}
.result__favicon {
  width: 16px;
  height: 16px;
  border-radius: 2px;
  flex-shrink: 0;
}
.result__favicon-fallback {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9098A8;
}
.result__body {
  flex: 1;
  min-width: 0;
}

/* Breadcrumb row */
.result__breadcrumb {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
  line-height: 1.3;
  min-width: 0;
  overflow: hidden;
  margin-bottom: 4px;
}
.result__domain {
  color: #188038;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
}
.result__domain:hover {
  text-decoration: underline;
  opacity: 1;
}
.result__crumb-sep {
  color: #70757A;
  font-size: 14px;
  flex-shrink: 0;
}
.result__crumb {
  color: #5F6368;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Title */
.result__title {
  margin: 0 0 4px;
}
.result__title a {
  font-size: 18px;
  font-weight: 500;
  color: #1a0dab;
  text-decoration: none;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.result__title a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
  opacity: 1;
}
.result__title a:visited {
  color: #681da8;
}
.result__title a:visited:hover {
  color: #681da8;
}
.result__title mark {
  background: transparent;
  color: inherit;
  font-weight: 700;
}

/* Snippet */
.result__snippet {
  font-size: 14px;
  line-height: 1.58;
  color: #4d5156;
  margin: 0 0 12px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}
.result__snippet mark {
  background: rgba(240,144,48,0.15);
  color: inherit;
  padding: 1px 4px;
  border-radius: 3px;
}

/* Meta badges row */
.result__meta {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-top: 10px;
  border-top: 1px solid #F0F1F4;
  flex-wrap: wrap;
}
.result__trust,
.result__date,
.result__confidence {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  padding: 4px 10px 4px 7px;
  border-radius: 99px;
  line-height: 1;
  white-space: nowrap;
}
.result__trust svg,
.result__date svg,
.result__confidence svg {
  flex-shrink: 0;
}

/* Trust score colors */
.result__trust--high {
  background: rgba(34,162,90,0.08);
  color: #1B8A4A;
}
.result__trust--high svg { stroke: #1B8A4A; }

.result__trust--medium {
  background: rgba(37,132,138,0.08);
  color: #25848A;
}
.result__trust--medium svg { stroke: #25848A; }

.result__trust--low {
  background: rgba(240,144,48,0.08);
  color: #C07020;
}
.result__trust--low svg { stroke: #C07020; }

.result__trust--none {
  background: rgba(144,152,168,0.08);
  color: #9098A8;
}
.result__trust--none svg { stroke: #9098A8; }

.result__date {
  background: rgba(144,152,168,0.06);
  color: #9098A8;
}
.result__date svg { stroke: #9098A8; }

/* Confidence score colors (semantic match) */
.result__confidence--high {
  background: rgba(99,102,241,0.08);
  color: #5B52CC;
}
.result__confidence--high svg { stroke: #5B52CC; }

.result__confidence--medium {
  background: rgba(37,132,138,0.08);
  color: #25848A;
}
.result__confidence--medium svg { stroke: #25848A; }

.result__confidence--low {
  background: rgba(144,152,168,0.06);
  color: #9098A8;
}
.result__confidence--low svg { stroke: #9098A8; }

.result__confidence--none {
  display: none;
}

/* Entity pill */
.result__entity {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  padding: 4px 10px 4px 7px;
  border-radius: 999px;
  background: rgba(240,144,48,0.08);
  color: #C06820;
}
.result__entity svg { stroke: #C06820; flex-shrink: 0; }

/* ── Pagination ──────────────────────────── */
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 40px;
}
.pagination__page,
.pagination__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 4px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 500;
  color: #4A5060;
  text-decoration: none;
  background: #fff;
  border: 1px solid #E2E5EA;
  transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}
.pagination__page:hover,
.pagination__arrow:hover {
  background: #F4F5F7;
  border-color: #D0D4DC;
  color: #203040;
  text-decoration: none;
  opacity: 1;
}
.pagination__page--active {
  background: #F09030;
  border-color: #F09030;
  color: #fff;
  cursor: default;
}
.pagination__page--active:hover {
  background: #F09030;
  border-color: #F09030;
  color: #fff;
}
.pagination__arrow {
  color: #9098A8;
}
.pagination__arrow:hover {
  color: #203040;
}
.pagination__arrow svg {
  display: block;
}

/* ── No Results ──────────────────────────── */
.no-results {
  text-align: center;
  padding: 80px 24px 60px;
}
.no-results__icon {
  color: #C8CCD4;
  margin-bottom: 20px;
}
.no-results__icon svg {
  margin: 0 auto;
}
.no-results h2 {
  font-size: 22px;
  font-weight: 600;
  color: #1A2332;
  margin-bottom: 8px;
}
.no-results__query {
  font-size: 15px;
  color: #9098A8;
  margin-bottom: 32px;
}
.no-results__query strong {
  color: #606878;
}
.no-results__suggestions {
  display: inline-block;
  text-align: left;
  background: #fff;
  border: 1px solid #E2E5EA;
  border-radius: 14px;
  padding: 24px 32px;
}
.no-results__suggestions p {
  font-size: 13px;
  font-weight: 600;
  color: #4A5060;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.no-results__suggestions ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.no-results__suggestions li {
  font-size: 14px;
  color: #606878;
  padding: 5px 0;
  position: relative;
  padding-left: 20px;
}
.no-results__suggestions li::before {
  content: "\2192";
  position: absolute;
  left: 0;
  color: #F09030;
  font-weight: 600;
}

/* No results: submit site CTA */
.no-results__cta {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 28px;
  padding: 16px 24px;
  background: rgba(37,132,138,0.04);
  border: 1px solid rgba(37,132,138,0.12);
  border-radius: 12px;
  text-align: left;
  transition: border-color 180ms, background 180ms;
}
.no-results__cta:hover {
  border-color: rgba(37,132,138,0.25);
  background: rgba(37,132,138,0.06);
}
.no-results__cta-icon {
  width: 40px;
  height: 40px;
  background: rgba(37,132,138,0.1);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.no-results__cta-body {
  min-width: 0;
}
.no-results__cta-text {
  font-size: 14px;
  color: #4A5060;
  margin: 0 0 4px;
}
.no-results__cta-link {
  font-size: 14px;
  font-weight: 600;
  color: #25848A;
  text-decoration: none;
  transition: color 150ms;
}
.no-results__cta-link:hover {
  color: #1D6B70;
  text-decoration: underline;
  text-underline-offset: 2px;
  opacity: 1;
}

/* ── Mobile Responsive ───────────────────── */
@media (max-width: 640px) {
  /* Show burger, hide desktop nav */
  .site-header__burger {
    display: flex;
  }
  .site-header__nav--desktop {
    display: none;
  }

  /* Header compact */
  .site-header__inner {
    padding: 0 16px;
    gap: 12px;
  }
  .site-header__search-input {
    font-size: 14px;
    padding: 8px 12px 8px 36px;
  }

  /* Results page */
  .results-page {
    padding: 16px 12px 40px;
  }
  .results-list {
    gap: 10px;
  }
  .result {
    padding: 14px 16px;
    border-radius: 10px;
  }
  .result__inner {
    gap: 10px;
  }
  .result__icon {
    width: 24px;
    height: 24px;
  }
  .result__favicon {
    width: 14px;
    height: 14px;
  }
  .result__title a {
    font-size: 16px;
  }
  .result__breadcrumb {
    font-size: 13px;
    flex-wrap: wrap;
  }
  .result__snippet {
    font-size: 13px;
    margin-bottom: 10px;
  }
  .result__meta {
    gap: 5px;
    padding-top: 8px;
  }
  .result__trust,
  .result__date,
  .result__confidence,
  .result__entity {
    font-size: 11px;
    padding: 3px 8px 3px 6px;
  }
  .pagination {
    gap: 4px;
  }
  .pagination__page,
  .pagination__arrow {
    min-width: 36px;
    height: 36px;
    font-size: 13px;
  }
}

/* ── Footer ───────────────────────────────── */
.site-footer {
  background: #1F3343;
  color: rgba(255,255,255,0.5);
  margin-top: 80px;
}
.site-footer__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 64px 24px 32px;
}
.site-footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 48px;
}
@media (max-width: 640px) {
  .site-footer__grid { grid-template-columns: 1fr; gap: 32px; }
}
.site-footer__brand p {
  font-size: 14px;
  line-height: 1.6;
  max-width: 280px;
}
.site-footer h4 {
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 16px;
}
.site-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.site-footer li {
  margin-bottom: 10px;
}
.site-footer a {
  color: rgba(255,255,255,0.45);
  font-size: 14px;
  text-decoration: none;
  transition: color 200ms ease;
}
.site-footer a:hover {
  color: #fff;
  text-decoration: none;
  opacity: 1;
}
.site-footer__bar hr {
  border: none;
  border-top: 2px solid rgba(240,144,48,0.3);
  margin-bottom: 16px;
}
.site-footer__bar p {
  font-size: 13px;
}

/* ── Static Pages (about, privacy) ────────── */
.static-page {
  max-width: 720px;
  margin: 0 auto;
  padding: 64px 24px;
}
.static-page h1 {
  margin-bottom: 16px;
}
.static-page p {
  font-size: 17px;
  line-height: 1.7;
  color: #4A5060;
}

/* ── Status Page (mobile grids) ──────────── */
@media (max-width: 640px) {
  .static-page [style*="grid-template-columns: 1fr 1fr 1fr 1fr"],
  .static-page [style*="grid-template-columns:1fr 1fr 1fr 1fr"] {
    grid-template-columns: 1fr 1fr !important;
  }
  .static-page [style*="grid-template-columns: 1fr 1fr 1fr"],
  .static-page [style*="grid-template-columns:1fr 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
}

/* ── Advertise Page (mobile grids) ────────── */
@media (max-width: 640px) {
  .static-page [style*="grid-template-columns:1fr 1fr 1fr;"],
  .static-page [style*="grid-template-columns: 1fr 1fr 1fr;"] {
    grid-template-columns: 1fr !important;
  }
  .static-page [style*="grid-template-columns:1fr 1fr;"],
  .static-page [style*="grid-template-columns: 1fr 1fr;"] {
    grid-template-columns: 1fr !important;
  }
}

/* ── Submit Site Page ─────────────────────── */
.submit-form input[type="url"]:focus,
.submit-form input[type="number"]:focus {
  outline: none;
  border-color: #F09030;
  box-shadow: 0 0 0 3px rgba(240,144,48,0.08);
}
.submit-form button[type="submit"]:hover {
  background: #D87A20;
}

/* ── Ad Cards (search results) ───────────── */
.ads-section {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ads-section--top {
  margin-bottom: 20px;
}
.ads-section--bottom {
  margin-top: 24px;
}
.ad-card {
  background: #FFFDF8;
  border: 1px solid #F0DFC0;
  border-radius: 14px;
  padding: 16px 20px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}
.ad-card:hover {
  border-color: #E8D0A0;
  box-shadow: 0 2px 12px rgba(240,144,48,0.08);
}
.ad-card__label {
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #C07020;
  background: rgba(240,144,48,0.12);
  padding: 3px 8px;
  border-radius: 6px;
  line-height: 1.2;
  margin-top: 2px;
}
.ad-card__body {
  flex: 1;
  min-width: 0;
}
.ad-card__title {
  margin: 0 0 4px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.35;
}
.ad-card__title a {
  color: #1A2332;
  text-decoration: none;
  transition: color 120ms ease;
}
.ad-card__title a:hover {
  color: #F09030;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
  opacity: 1;
}
.ad-card__description {
  font-size: 14px;
  line-height: 1.6;
  color: #4A5060;
  margin: 0 0 6px;
}
.ad-card__url {
  font-size: 12px;
  color: #25848A;
  font-weight: 500;
}

@media (max-width: 640px) {
  .ad-card {
    padding: 14px 16px;
    gap: 10px;
    border-radius: 12px;
  }
  .ad-card__title {
    font-size: 15px;
  }
  .ad-card__description {
    font-size: 13px;
  }
  .ad-card__label {
    font-size: 9px;
    padding: 2px 6px;
  }
}

/* ── Static Pages: Mobile ─────────────────── */
@media (max-width: 640px) {
  /* Reduce top padding on static pages */
  .static-page {
    padding: 32px 16px 48px;
  }
  .static-page h1 {
    font-size: 24px;
  }
  .static-page h2 {
    font-size: 20px;
    margin-top: 40px !important;
  }
  .static-page p {
    font-size: 15px;
  }

  /* TOC: single column on mobile */
  .static-page [style*="columns:2"],
  .static-page [style*="columns: 2"] {
    columns: 1 !important;
  }

  /* Key-value grids (140px label + content) */
  .static-page [style*="grid-template-columns:140px"],
  .static-page [style*="grid-template-columns: 140px"] {
    grid-template-columns: 1fr !important;
    gap: 4px 0 !important;
  }

  /* Multi-column card grids — stack to single column */
  .static-page [style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }

  /* Dark card flex layouts (icon + text) — stack on mobile */
  .static-page [style*="background:linear-gradient"] [style*="display:flex"][style*="gap:20px"] {
    flex-direction: column !important;
  }
  .static-page [style*="background:linear-gradient"] [style*="width:56px"] {
    display: none !important;
  }

  /* Pipeline step circles — smaller */
  .static-page [style*="width:48px"][style*="border-radius:50%"] {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px;
  }
  .static-page [style*="width:48px"][style*="border-radius:50%"] span {
    font-size: 15px !important;
  }
  /* Pipeline connector line — re-center for smaller circles */
  .static-page [style*="left:23px"][style*="width:2px"] {
    left: 17px !important;
  }

  /* Callout boxes */
  .static-page [style*="padding:24px 32px"],
  .static-page [style*="padding: 24px 32px"] {
    padding: 16px 20px !important;
  }
  .static-page [style*="padding:20px 28px"],
  .static-page [style*="padding: 20px 28px"] {
    padding: 16px 18px !important;
  }
  .static-page [style*="padding:32px"] {
    padding: 20px !important;
  }
  .static-page [style*="padding:24px 28px"] {
    padding: 16px 18px !important;
  }

  /* Inline headings in dark card */
  .static-page [style*="background:linear-gradient"] h3 {
    font-size: 16px !important;
  }
  .static-page [style*="background:linear-gradient"] p {
    font-size: 14px !important;
  }

  /* Big stat numbers */
  .static-page [style*="font-size:36px"] {
    font-size: 28px !important;
  }

  /* Tables: ensure horizontal scroll */
  .static-page table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    font-size: 14px;
  }
  .static-page thead {
    display: table-header-group;
  }
  .static-page tbody {
    display: table-row-group;
  }
  .static-page tr {
    display: table-row;
  }
  .static-page th,
  .static-page td {
    display: table-cell;
    padding: 10px 12px !important;
    font-size: 13px !important;
  }

  /* Ordered/unordered lists */
  .static-page ol,
  .static-page ul {
    padding-left: 18px;
  }
  .static-page ol li,
  .static-page ul li {
    font-size: 15px;
  }

  /* Search hero */
  .search-hero {
    padding: 80px 16px 60px;
  }
  .search-hero__logo {
    margin-bottom: 20px;
  }
  .search-hero__logo img {
    height: 36px;
  }
  .search-hero p {
    margin-bottom: 24px;
  }
  .search-form__input {
    font-size: 16px;
    padding: 14px 52px 14px 18px;
  }

  /* Home feature cards — stack to single column */
  [style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
}

/* ── Home: hide header (show hero instead) ── */
body.home .site-header { display: none; }
body.home .site-footer { margin-top: 0; }
