/* GetPatientNow 2026 theme refresh — visual only, no layout changes. 2026-11-10 */
:root {
  --gx-navy: #0b1b3a;
  --gx-navy2: #132848;
  --gx-teal: #14b8a6;
  --gx-teal-d: #0d9488;
  --gx-p: #0f766e;
  --gx-p-d: #115e59;
  --gx-ink: #102033;
  --gx-mut: #4b5c6b;
  --gx-line: #e2e8ee;
  --gx-bg2: #f3f7f8;
  --gx-r: 16px;
  --gx-shadow: 0 1px 2px rgba(11, 27, 58, .04), 0 10px 28px -18px rgba(11, 27, 58, .22);
  --gx-shadow-lg: 0 1px 2px rgba(11, 27, 58, .05), 0 18px 40px -22px rgba(11, 27, 58, .3);
  --font-body: "Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-heading: "Plus Jakarta Sans Variable", "Inter Variable", Inter, ui-sans-serif, system-ui, sans-serif;
  --primary: 173 77% 26%;
  --primary-foreground: 0 0% 100%;
  --ring: 173 77% 26%;
  --accent: 173 56% 42%;
  --accent-foreground: 0 0% 100%;
  --muted: 190 24% 96%;
  --muted-foreground: 210 14% 40%;
  --border: 200 16% 91%;
  --input: 200 16% 91%;
}

html {
  scroll-padding-top: 5.5rem;
}

body {
  font-family: var(--font-body);
  line-height: 1.65;
  color: var(--gx-ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection {
  background: rgba(20, 184, 166, .22);
  color: var(--gx-navy);
}

/* Focus rings */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--gx-teal);
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(20, 184, 166, .22);
}

/* Sticky nav */
.gx-hdr {
  background: rgba(255, 255, 255, .82);
  border-bottom: 1px solid rgba(226, 232, 238, .9);
  backdrop-filter: saturate(1.6) blur(16px);
  -webkit-backdrop-filter: saturate(1.6) blur(16px);
}

.gx-nl,
.gx-ddb {
  border-radius: 12px;
  transition: color .15s ease, background-color .15s ease;
}

.gx-ddp {
  border: 1px solid var(--gx-line);
  border-radius: 16px;
  box-shadow: var(--gx-shadow-lg);
}

.gx-ddp a,
.gx-mnav summary {
  border-radius: 12px;
}

.gx-login {
  color: var(--gx-p);
  border-radius: 12px;
}

/* Hero mesh only — typography and grid unchanged */
.gx-hero {
  background-color: #f7fbfb;
  background-image:
    radial-gradient(ellipse 70% 55% at 92% -8%, rgba(20, 184, 166, .18), transparent 58%),
    radial-gradient(ellipse 55% 45% at 0% 0%, rgba(11, 27, 58, .08), transparent 52%),
    linear-gradient(180deg, #eef6f6 0%, #ffffff 72%);
  border-bottom: 1px solid var(--gx-line);
}

/* Type refinements */
.gx-h1,
.gx-h2,
.gx-sec h3,
.gx-card h3,
.gx-res-sec h3,
.gx-art h2,
.gx-art h3 {
  font-family: var(--font-heading);
  letter-spacing: -.025em;
}

.gx-h1 { line-height: 1.1; font-weight: 800; }
.gx-h2 { line-height: 1.18; font-weight: 750; }
.gx-lead,
.gx-sec p,
.gx-sub,
.gx-art { line-height: 1.7; }
.gx-eyebrow { letter-spacing: .12em; color: var(--gx-p); }

/* Buttons */
.gx-btn {
  border-radius: 14px;
  border-width: 1px;
  font-weight: 650;
  letter-spacing: -.01em;
  box-shadow: 0 1px 2px rgba(11, 27, 58, .05);
  transition: background-color .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.gx-btn-p {
  background: var(--gx-teal-d);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 1px 2px rgba(11, 27, 58, .06), 0 10px 22px -12px rgba(13, 148, 136, .7);
}
.gx-btn-p:hover {
  background: var(--gx-p-d);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 8px 22px -10px rgba(11, 27, 58, .35);
}

.gx-btn-t {
  background: var(--gx-teal);
  color: #04242a;
  border-color: transparent;
}
.gx-btn-t:hover {
  background: #2dd4bf;
  color: #04242a;
  transform: translateY(-1px);
}

.gx-btn-o {
  background: #fff;
  color: var(--gx-p);
  border-color: rgba(15, 118, 110, .35);
}
.gx-btn-o:hover {
  background: #f0fafa;
  border-color: var(--gx-teal-d);
  transform: translateY(-1px);
}

.gx-btn-w:hover { transform: translateY(-1px); }

/* Cards, steps, forms, faq */
.gx-card,
.gx-steps li,
.gx-faq,
.gx-form,
.gx-scan,
.gx-engine {
  border: 1px solid var(--gx-line);
  border-radius: var(--gx-r);
  box-shadow: var(--gx-shadow);
}

.gx-engine.ro {
  border: 0;
  box-shadow: var(--gx-shadow-lg);
}

.gx-mock,
.gx-cta {
  box-shadow: var(--gx-shadow-lg);
}

.gx-cta { border-radius: 20px; }

.gx-form input,
.gx-form select,
.gx-form textarea,
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
select,
textarea {
  border-radius: 12px;
  border: 1px solid #c9d6dd;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.gx-form input:focus,
.gx-form select:focus,
.gx-form textarea:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--gx-teal);
}

.gx-pills li,
.gx-tag,
.gx-chip,
.gx-lock { border-radius: 999px; }
.gx-lock { border-radius: 12px; }

/* Footer + dark bands */
.gx-ftr { background: #f5f8fa; }
.gx-dark { background: var(--gx-navy); }

/* Mobile: do not introduce overflow */
img, svg, video, canvas { max-width: 100%; }
.gx-wrap, .gx-hero-g, .gx-split, .gx-g2, .gx-g3, .gx-g4, .gx-ctas { min-width: 0; }

@media (prefers-reduced-motion: reduce) {
  .gx-btn,
  .gx-btn-p,
  .gx-btn-t,
  .gx-btn-o,
  .gx-btn-w { transform: none !important; transition: none !important; }
}
