/**
 * Territory global theme
 * Single shared source for brand fonts, colors, and base type.
 * Load after assets/css/style.css so these tokens win over SaasoX defaults.
 *
 * Brand tokens:
 *   $blue / $main   #0049E7  Primary / main
 *   $purple         #5E17A9  Secondary / links
 *   $liteblue       #2c96ff  Accent light blue
 *   $darkblue       #030254  Info / dark blue
 *   $green          #37b34a  Success
 *   $yellow         #FFCB05  Warn
 *   $red            #FF2966  Error
 *   $dark           #333333  Text / dark
 *   $lite / $grey   #eeeeee  Light / grey
 */

:root {
  /* Typography — Poppins sitewide */
  --heading-font: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --body-font: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* Named brand palette */
  --blue: #0049E7;
  --main: #0049E7;
  --purple: #5E17A9;
  --liteblue: #2c96ff;
  --darkblue: #030254;
  --green: #37b34a;
  --yellow: #FFCB05;
  --red: #FF2966;
  --dark: #333333;
  --lite: #eeeeee;
  --grey: #eeeeee;

  /* SaasoX / shared UI tokens mapped to brand */
  --white-color: #fff;
  --black-color: #000;
  --heading-color: var(--dark);
  --body-color: #5a5a6e;
  --accent-color: var(--blue);
  --border-color: #d8dde1;
  --theme-color-1: #e8f0ff;
  --theme-color-2: var(--blue);
  --theme-color-3: var(--yellow);
  --theme-color-4: #d6e8ff;
  --theme-color-5: var(--purple);
  --green-color: var(--green);
  --gray-color-1: #f5f7fa;
  --gray-color-2: var(--lite);

  /* Shared UI helpers */
  --geo-radius: 16px;
  --geo-shadow: 0 18px 50px rgba(3, 2, 84, 0.1);
  /* Primary buttons: purple gradient default → blue gradient hover (swapped) */
  --geo-btn-primary: var(--purple);
  --geo-btn-primary-hover: var(--blue);
  --geo-gradient-primary: linear-gradient(245deg, var(--blue) -40%, var(--purple) 120%);
  --geo-gradient-primary-hover: linear-gradient(245deg, var(--liteblue) -40%, var(--blue) 70%, var(--purple) 140%);
  --geo-gradient-brand: linear-gradient(135deg, var(--purple), var(--blue));
}

html,
body {
  color: var(--body-color);
  font-family: var(--body-font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6,
.cs_heading_font {
  color: var(--heading-color);
  font-family: var(--heading-font);
}

.cs_body_font {
  font-family: var(--body-font);
}

/*
 * Link system
 * - Prose links: soft purple underline
 * - Dense inline lists (industry note): purple, no underline until hover
 * - Card text CTAs: solid blue
 * - Title links: inherit, blue on hover
 */
.geo-article__body a,
.geo-legal__body a,
.geo-help .cs_post_details a,
.geo-pricing-compare__note a,
.geo-vs-link {
  color: var(--purple);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--purple) 32%, transparent);
  text-decoration-thickness: from-font;
  text-underline-offset: 0.2em;
  transition: color 0.18s ease, text-decoration-color 0.18s ease;
}

.geo-article__body a:hover,
.geo-legal__body a:hover,
.geo-help .cs_post_details a:hover,
.geo-pricing-compare__note a:hover,
.geo-vs-link:hover {
  color: var(--blue);
  text-decoration-color: color-mix(in srgb, var(--blue) 55%, transparent);
}

/* Dense niche list — soft chips instead of stacked underlines */
.geo-industry-note a {
  display: inline-block;
  margin: 3px 3px;
  padding: 4px 11px;
  border-radius: 999px;
  color: var(--purple);
  font-weight: 500;
  font-size: 0.95em;
  line-height: 1.35;
  text-decoration: none;
  background: color-mix(in srgb, var(--purple) 9%, #fff);
  border: 1px solid color-mix(in srgb, var(--purple) 16%, transparent);
  transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

.geo-industry-note a:hover {
  color: var(--blue);
  background: color-mix(in srgb, var(--blue) 10%, #fff);
  border-color: color-mix(in srgb, var(--blue) 28%, transparent);
}

.geo-industry-card__link a {
  color: var(--blue);
  font-weight: 600;
  text-decoration: none;
  transition: color 0.18s ease, gap 0.18s ease;
}

.geo-industry-card__link a:hover {
  color: var(--purple);
}

.geo-article__body a:focus-visible,
.geo-legal__body a:focus-visible,
.geo-help .cs_post_details a:focus-visible,
.geo-industry-note a:focus-visible,
.geo-industry-card__link a:focus-visible,
.geo-vs-link:focus-visible {
  outline: 2px solid var(--liteblue);
  outline-offset: 3px;
  border-radius: 3px;
}

.cs_footer a:hover {
  color: var(--liteblue);
}

.geo-landing {
  --accent-color: var(--blue);
}

/* Primary CTAs: purple gradient default → blue gradient hover */
.cs_btn.cs_style_1.cs_bg_1 {
  background: var(--geo-gradient-primary);
}

.cs_btn.cs_style_1:hover.cs_bg_1,
.cs_btn.cs_style_1.cs_bg_1:hover {
  background: var(--geo-gradient-primary-hover);
}

.cs_btn.cs_style_1.geo-cta-outline {
  color: var(--geo-btn-primary);
  background: transparent;
  border-color: color-mix(in srgb, var(--geo-btn-primary) 55%, transparent);
}

.cs_btn.cs_style_1.geo-cta-outline:hover {
  color: #fff;
  background: var(--geo-gradient-primary-hover);
  border-color: var(--geo-btn-primary-hover);
}

.cs_btn.cs_style_1:hover.cs_theme_bg_4 {
  color: var(--heading-color);
  background-color: var(--theme-color-4);
}

.cs_accent_color,
.cs_accent_color_hover:hover {
  color: var(--accent-color);
}

.cs_accent_bg {
  background-color: var(--accent-color);
}

/* Sitewide header: keep Login + Try for free on every breakpoint */
.geo-landing .cs_site_header.cs_style_1 .cs_main_header_right {
  display: flex !important;
  align-items: center;
}

.geo-landing .cs_site_header .geo-header-actions {
  display: flex !important;
  align-items: center;
}

.geo-landing .cs_site_header .cs_btn.cs_style_1.geo-login-btn {
  display: inline-flex !important;
  align-items: center;
}

.geo-landing .cs_site_header .cs_btn.cs_style_1.cs_bg_1 {
  display: inline-flex !important;
  align-items: center;
}

@media (max-width: 991px) {
  .geo-landing .cs_site_header .cs_btn.cs_style_1 .geo-cta-label-full {
    display: none;
  }

  .geo-landing .cs_site_header .cs_btn.cs_style_1 .geo-cta-label-short {
    display: inline;
  }
}

@media (max-width: 480px) {
  .geo-landing .cs_site_header.cs_style_1 .cs_main_header_right {
    display: flex !important;
  }
}
