/* FluxCoupon homepage: clear editorial hierarchy and the yellow brand palette. */
body.seo-home-page {
  --flux-ink: #24211b;
  --flux-muted: #645f54;
  --flux-line: #e9e4d9;
  --flux-gold: #f5b900;
  --flux-deep-gold: #775600;
  background: #fff;
  color: var(--flux-ink);
}
body.seo-home-page .seo-home-hero {
  position: relative;
  background: #fffaf0;
  border-bottom: 1px solid #f0e9d8;
}
body.seo-home-page .seo-home-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(38px, 5vw, 72px) 24px;
  box-sizing: border-box;
}
body.seo-home-page .seo-home-hero-inner.has-home-featured {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);
  gap: clamp(30px, 5vw, 68px);
  align-items: center;
}
body.seo-home-page .seo-home-introduction h1 {
  max-width: 700px;
  margin: 0 0 16px;
  color: var(--flux-ink);
  font-size: clamp(32px, 3.6vw, 48px);
  line-height: 1.12;
  letter-spacing: -.035em;
}
body.seo-home-page .seo-home-hero-text {
  max-width: 660px;
  color: var(--flux-muted);
  font-size: 16px;
  line-height: 1.7;
}
body.seo-home-page .seo-brand-search {
  margin-top: 24px;
  padding: 20px;
  border: 1px solid var(--flux-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 25px rgb(60 43 5 / 5%);
}
body.seo-home-page .seo-brand-search-heading strong { color: var(--flux-ink); }
body.seo-home-page .seo-brand-search-heading span,
body.seo-home-page .seo-brand-search-hint { color: var(--flux-muted); }
body.seo-home-page .seo-brand-search :is(input, select, summary):focus-visible {
  outline: 2px solid #9a6c00;
  outline-offset: 2px;
}
body.seo-home-page .flux-home-featured {
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid #ebd691;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 32px rgb(72 54 9 / 7%);
}
body.seo-home-page .flux-home-featured-main h3 { font-size: clamp(20px, 2vw, 24px); line-height: 1.3; }
body.seo-home-page .flux-home-featured-percent { color: #876200; }
body.seo-home-page .flux-home-featured-actions button { background: var(--flux-gold); color: #211b10; }
body.seo-home-page .flux-home-featured-actions button:hover { background: #e2a900; }
body.seo-home-page .flux-home-featured-conditions { background: #fbf9f3; }
body.seo-home-page .seo-home-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 44px 24px 64px;
  box-sizing: border-box;
}
body.seo-home-page .seo-home-section { margin: 0 0 52px; }
body.seo-home-page .seo-home-section .seo-section-heading { margin-bottom: 20px; }
body.seo-home-page .seo-home-section h2,
body.seo-home-page .seo-home-info h2,
body.seo-home-page .flux-offers-title {
  margin-top: 0;
  color: var(--flux-ink);
  font-size: clamp(24px, 2.3vw, 30px);
  line-height: 1.25;
  letter-spacing: -.02em;
}
body.seo-home-page .seo-home-stats { gap: 8px 18px; color: var(--flux-muted); }
body.seo-home-page .seo-home-continent-title { color: var(--flux-ink); font-size: 18px; }
body.seo-home-page .seo-home-continents .seo-home-country-card {
  gap: 8px;
  padding: 15px 16px;
  border: 1px solid var(--flux-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
}
body.seo-home-page .seo-home-continents .seo-home-country-card:hover {
  border-color: #c69820;
  background: #fffcf4;
  box-shadow: none;
}
body.seo-home-page .seo-home-country-card-title strong { font-size: 16px; }
body.seo-home-page .seo-home-country-card-meta,
body.seo-home-page .seo-home-country-card-desc { color: var(--flux-muted); }
body.seo-home-page .seo-home-country-card-cta { color: var(--flux-deep-gold); }
body.seo-home-page #brands .seo-home-brand-card {
  border-color: var(--flux-line);
  border-radius: 12px;
  box-shadow: none;
}
body.seo-home-page #brands .seo-home-brand-logo { border-color: var(--flux-line); border-radius: 8px; }
body.seo-home-page #brands .seo-brand-directory-cta { color: var(--flux-deep-gold); }
/* The offers table keeps its headers and offers horizontal scrolling on small screens. */
body.seo-home-page .flux-country-offers { margin: 0 0 52px; }
body.seo-home-page .flux-offers-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border: 1px solid var(--flux-line);
  border-radius: 10px;
  background: #fff;
}
body.seo-home-page .flux-offers-table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  text-align: left;
  font-size: 14px;
  line-height: 1.5;
}
body.seo-home-page .flux-offers-table th,
body.seo-home-page .flux-offers-table td { padding: 14px 16px; border-bottom: 1px solid var(--flux-line); vertical-align: middle; }
body.seo-home-page .flux-offers-table thead th { background: #faf8f3; color: #565044; font-weight: 700; }
body.seo-home-page .flux-offers-table tbody th { white-space: nowrap; }
body.seo-home-page .flux-offers-table tbody tr:last-child td { border-bottom: 0; }
body.seo-home-page .flux-offers-table a { color: var(--flux-deep-gold); font-weight: 700; }
body.seo-home-page .flux-offer-action {
  display: inline-block;
  padding: 9px 13px;
  border-radius: 6px;
  background: var(--flux-gold);
  color: var(--flux-ink) !important;
  text-align: center;
  text-decoration: none;
}
body.seo-home-page .flux-offer-action:hover { background: #e2a900; }
body.seo-home-page .seo-home-info {
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid var(--flux-line);
  border-radius: 12px;
  background: #fbfaf7;
}
body.seo-home-page .seo-home-info-grid { gap: 20px; }
body.seo-home-page .seo-home-info-grid > div { color: var(--flux-muted); line-height: 1.65; }
body.seo-home-page .seo-home-info-grid strong { color: var(--flux-ink); }
body.seo-home-page .seo-faq-item { border-color: var(--flux-line); }
body.seo-home-page .seo-faq-item summary { color: var(--flux-ink); }
body.seo-home-page :is(a, button, summary):focus-visible { outline: 2px solid #9a6c00; outline-offset: 3px; }
@media (max-width: 760px) {
  body.seo-home-page .seo-home-hero-inner,
  body.seo-home-page .seo-home-wrap { padding-left: 18px; padding-right: 18px; }
  body.seo-home-page .seo-home-hero-inner.has-home-featured { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.seo-home-page .seo-home-hero-inner { padding-top: 34px; padding-bottom: 34px; }
  body.seo-home-page .seo-home-wrap { padding-top: 32px; padding-bottom: 48px; }
  body.seo-home-page .seo-home-section, body.seo-home-page .flux-country-offers { margin-bottom: 38px; }
}
@media (max-width: 420px) {
  body.seo-home-page .seo-brand-search { padding: 16px; }
  body.seo-home-page .flux-home-featured-main { display: flex; }
  body.seo-home-page .flux-home-featured-percent { margin-top: 0; font-size: 23px; }
}
