/* BTCPay.exchange corporate finance theme.
   Kept as a small layer over the product CSS so shared tokens govern every route. */
:root {
  --bg-deep: #091625;
  --bg-base: #0d1b2b;
  --bg-card: #122238;
  --bg-surface: #172a40;
  --bg-surface-2: #20364e;
  --text-primary: #f2f5f9;
  --text-secondary: #b7c3d1;
  --text-muted: #8291a3;
  --brand: #527db8;
  --brand-soft: #6b91c5;
  --brand-light: #a3bbdc;
  --cyan: #78a9ba;
  --neon-green: #55b38e;
  --gradient-primary: linear-gradient(135deg, #385f98 0%, #4b74ad 55%, #668bbd 100%);
  --gradient-cyan: linear-gradient(135deg, #5b91a6 0%, #497995 100%);
  --gradient-accent: linear-gradient(135deg, #a96362 0%, #8d4f59 100%);
  --gradient-terminal: linear-gradient(135deg, rgba(76,119,178,.42), rgba(93,137,186,.24) 55%, rgba(111,156,174,.28));
  --glow: rgba(74, 116, 174, .16);
  --status-success: #62bc98;
  --status-warning: #d7a45c;
  --status-error: #d8797e;
  --status-info: #83afc7;
  --glass-bg: rgba(255,255,255,.035);
  --glass-bg-strong: rgba(17,31,49,.94);
  --glass-border: rgba(190,207,226,.11);
  --glass-border-strong: rgba(190,207,226,.18);
  --glass-shadow: 0 12px 34px rgba(0,0,0,.2);
  --stroke: rgba(190,207,226,.11);
  --input-bg: rgba(3,11,20,.22);
  --font-display: var(--font-body);
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 15px;
  --r-xl: 20px;
  color-scheme: dark;
}

[data-theme="light"] {
  --bg-deep: #edf2f7;
  --bg-base: #f5f7fa;
  --bg-card: #ffffff;
  --bg-surface: #f0f4f8;
  --bg-surface-2: #e4ebf2;
  --text-primary: #17283d;
  --text-secondary: #465a71;
  --text-muted: #77889d;
  --brand: #315f9d;
  --brand-soft: #4476b8;
  --brand-light: #315f9d;
  --cyan: #367b8d;
  --neon-green: #1d8665;
  --gradient-primary: linear-gradient(135deg, #315f9d 0%, #3e70ae 60%, #537fb8 100%);
  --gradient-cyan: linear-gradient(135deg, #397d91 0%, #286c81 100%);
  --gradient-accent: linear-gradient(135deg, #a96362 0%, #8d4f59 100%);
  --gradient-terminal: linear-gradient(135deg, rgba(49,95,157,.62), rgba(74,121,178,.42) 55%, rgba(75,135,150,.4));
  --glow: rgba(49,95,157,.12);
  --status-success: #1d8665;
  --status-warning: #a8792f;
  --status-error: #b95059;
  --status-info: #367b8d;
  --glass-bg: rgba(255,255,255,.76);
  --glass-bg-strong: rgba(255,255,255,.96);
  --glass-border: rgba(39,61,87,.1);
  --glass-border-strong: rgba(39,61,87,.16);
  --glass-shadow: 0 10px 28px rgba(26,45,68,.07);
  --stroke: rgba(39,61,87,.11);
  --input-bg: rgba(22,43,67,.035);
  color-scheme: light;
}

html, body { background: var(--bg-deep); }
body { color: var(--text-primary); }
a { color: var(--brand-soft); }
:focus-visible { outline-color: var(--brand-soft); }
::selection { background: rgba(93,139,196,.3); }

/* Quiet page canvas; let the product content and photography carry the page. */
.bg-scene { background: linear-gradient(180deg, #0b1929 0%, #0a1726 42%, #0c1928 100%); }
.bg-grid, .bg-orb { display: none; }
[data-theme="light"] .bg-scene { background: linear-gradient(180deg, #f7f9fc 0%, #f0f4f8 100%); }
[data-theme="light"] .hero-bg-banner, [data-theme="dark"] .hero-bg-banner { opacity: .12; filter: grayscale(.25) saturate(.72); }
.splash-img, .brand-img { filter: none; }
.splash { background: var(--bg-deep); }
.page { animation-duration: .24s; padding-bottom: 56px; }
.container { --container: 1160px; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-body); text-transform: none; letter-spacing: -.025em; }
.section-title { font-family: var(--font-body); font-size: clamp(1.6rem, 3vw, 2.15rem); font-weight: 750; line-height: 1.16; text-transform: none; letter-spacing: -.035em; }
.section-sub { max-width: 700px; line-height: 1.7; }
.section-badge { color: var(--brand-light); border-color: rgba(107,145,197,.24); background: rgba(82,125,184,.08); letter-spacing: .08em; }
.gradient-text { background-image: linear-gradient(105deg, #adc2df, #7297c3); }
[data-theme="light"] .gradient-text { background-image: linear-gradient(105deg, #315f9d, #4779b7); }
img[src*="loop-freedom"] { filter: saturate(.62) drop-shadow(0 8px 18px rgba(28,45,67,.1)) !important; }

/* Surfaces, controls, and data tables. */
.glass { backdrop-filter: blur(10px); border-color: var(--glass-border); border-radius: var(--r-lg); box-shadow: var(--glass-shadow); }
.card-hover { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.card-hover:hover { transform: translateY(-2px); border-color: rgba(118,151,191,.28); box-shadow: 0 15px 36px rgba(0,0,0,.2); }
[data-theme="light"] .card-hover:hover { box-shadow: 0 14px 32px rgba(26,45,68,.11); }
.btn { min-height: 44px; border: 1px solid transparent; border-radius: 10px; clip-path: none; font-weight: 680; letter-spacing: 0; text-transform: none; box-shadow: none; }
.btn-primary { color: #fff; background: linear-gradient(135deg,#446fa8,#365f98); box-shadow: 0 5px 14px rgba(35,71,119,.2); }
.btn-primary::before { display: none; }
.btn-primary:hover:not([disabled]) { transform: translateY(-1px); filter: brightness(1.06); box-shadow: 0 8px 20px rgba(35,71,119,.25); }
.btn-secondary { border: 1px solid var(--glass-border-strong); box-shadow: none; backdrop-filter: none; }
.btn-secondary:hover:not([disabled]) { color: var(--text-primary); border-color: var(--brand); box-shadow: 0 4px 14px rgba(35,71,119,.1); transform: translateY(-1px); }
.btn-ghost:hover { color: var(--brand-light); }
.btn-danger { color: #fff; }
.input, .select, textarea.input { border-radius: 10px; box-shadow: none; }
.input:focus, .select:focus { border-color: var(--brand-soft); box-shadow: 0 0 0 3px rgba(82,125,184,.14); }
.input:hover, .select:hover { border-color: var(--glass-border-strong); }
.seg { background: var(--bg-surface); border-color: var(--stroke); }
.seg button.active { color: #fff; background: var(--gradient-primary); box-shadow: none; }
.switch input:checked + .track { background: var(--brand); }
.badge { letter-spacing: .01em; }
.badge-brand { color: #fff; background: var(--brand); }
.status-pill { border: 1px solid currentColor; background: transparent; }
.rate-table, .compare-wrap, .docs-sidebar, .doc-article, .faq-item, .order-card, .modal { border-color: var(--stroke); }
table.compare thead th, .doc-table th { background: rgba(104,139,181,.08); }
.price-card::before { opacity: .42; }
.price-card { box-shadow: var(--glass-shadow); }
.feature-icon.neon-blue, .feature-icon.neon-purple, .feature-icon.neon-pink, .feature-icon.neon-green,
.host-feature .hf-ico { color: var(--brand-light); background: rgba(82,125,184,.09); box-shadow: inset 0 0 0 1px rgba(114,149,192,.19); }
.step-number { -webkit-text-stroke-color: rgba(133,163,201,.44); }
.step .s-dot { box-shadow: none; }
.step.active .s-dot { color: #fff; background: var(--brand); }
.step.done .s-dot { color: var(--status-success); }
.prepaid-visual { border-radius: var(--r-lg); box-shadow: 0 20px 48px rgba(0,0,0,.25); }
.prepaid-visual::before { background: radial-gradient(500px 200px at 90% -20%,rgba(106,142,189,.16),transparent),radial-gradient(400px 200px at -10% 120%,rgba(68,105,151,.14),transparent); }
.pill.active { background: var(--brand); box-shadow: none; }
.crypto-option.active { border-color: rgba(107,145,197,.46); background: rgba(82,125,184,.12); box-shadow: inset 0 0 0 1px rgba(107,145,197,.18); }
.crypto-option:hover, .pill:hover { border-color: var(--brand-soft); }
.terminal { border: 1px solid var(--stroke); background: var(--bg-card); box-shadow: var(--glass-shadow); }
.terminal::before { display: none; }
.terminal-header { background: rgba(104,139,181,.055); }
.terminal-dots { display: none; }
.terminal-title { color: var(--text-secondary); font-size: 12px; letter-spacing: 0; text-transform: none; }
.xbox:focus-within { border-color: var(--brand-soft); box-shadow: 0 0 0 3px rgba(82,125,184,.1); }
.swap-dir button { box-shadow: none; }
.swap-dir button:hover { transform: none; box-shadow: 0 4px 12px rgba(35,71,119,.12); }
.rate-row.best { background: linear-gradient(90deg, rgba(82,125,184,.07), transparent 65%); }

/* Navigation and trust cues. */
.nav-blur { background: rgba(10,24,41,.97); border-bottom-color: rgba(190,207,226,.12); box-shadow: 0 8px 22px rgba(0,0,0,.12); backdrop-filter: blur(16px); }
[data-theme="light"] .nav-blur { background: rgba(255,255,255,.97); border-bottom-color: #dce4ed; }
.brand-img { opacity: .94; }
.brand-name { font-family: var(--font-body); font-size: 18px; font-weight: 800; letter-spacing: -.055em; }
.brand .highlight { color: var(--brand-light); }
.brand .brand-badge { letter-spacing: .16em; }
.nav-link { border-radius: 9px; color: #a9b7c8; font-weight: 620; }
.nav-link:hover { background: rgba(179,199,222,.07); }
.nav-link.active { color: #fff; border-color: rgba(120,153,195,.2); background: rgba(79,119,174,.16); box-shadow: none; }
.nav-link.active .nav-icon { color: #a6bfdf; }
.nav-hosting { border-color: rgba(117,151,192,.32); border-radius: 11px; color: #f3f6fa; background: rgba(74,111,162,.13); box-shadow: none; }
.nav-hosting:hover { transform: translateY(-1px); border-color: rgba(141,171,205,.55); box-shadow: 0 5px 16px rgba(27,51,81,.22); }
.nav-hosting.active { background: rgba(74,111,162,.22); }
.nav-host-icon { color: #fff; background: #456da4; box-shadow: none; }
.nav-host-copy small { color: #b5c8e1; }
.nav-hosting > .nav-icon { color: #b5c8e1; }
.nav-tools { border-color: rgba(190,207,226,.12); border-radius: 11px; background: rgba(255,255,255,.035); }
.nav-tool { color: #b4c0ce; }
.lang-menu { border-color: var(--stroke); border-radius: 12px; background: var(--bg-card); box-shadow: 0 16px 36px rgba(0,0,0,.24); }
.lang-menu button.active { box-shadow: inset 2px 0 var(--brand); }
.nav-market-row { border-color: rgba(190,207,226,.09); background: rgba(8,19,32,.92); }
[data-theme="light"] .nav-market-row { background: #f2f5f8; border-color: #e2e8ef; }
.nav-market-label { color: #aeb9c7; letter-spacing: .08em; }
.nav-market-name { color: #8394a8; }
.nav-live-dot { box-shadow: none; }
.ticker-item { color: #a2afbf; }
.ticker-item .sym { color: #e0e6ed; }
.ticker-item .price { color: #bbc5d2; }
.ticker-item .chg.up { color: #65c39d; }
.ticker-item .chg.down { color: #dc8989; }
.nav-market-row { background: rgba(8,19,32,.92); }
[data-theme="light"] .nav-link { color: #465a71; }
[data-theme="light"] .nav-link:hover { color: #17283d; background: rgba(49,95,157,.06); }
[data-theme="light"] .nav-link.active { color: #244a78; border-color: rgba(49,95,157,.16); background: rgba(49,95,157,.09); }
[data-theme="light"] .nav-link.active .nav-icon { color: #315f9d; }
[data-theme="light"] .nav-hosting { color: #203750; border-color: rgba(49,95,157,.2); background: rgba(49,95,157,.06); }
[data-theme="light"] .nav-host-copy small { color: #456b99; }
[data-theme="light"] .nav-hosting > .nav-icon { color: #52749d; }
[data-theme="light"] .nav-market-label { color: #50637b; }
[data-theme="light"] .nav-market-name { color: #77889d; }
[data-theme="light"] .ticker-item { color: #596c83; }
[data-theme="light"] .ticker-item .sym { color: #17283d; }
[data-theme="light"] .ticker-item .price { color: #465a71; }
[data-theme="light"] .drawer-link { color: #334b66; }
[data-theme="light"] .drawer-link .nav-icon { color: #627992; }
[data-theme="light"] .drawer-hosting { color: #203750; }
[data-theme="light"] .drawer-host-copy small { color: #456b99; }
[data-theme="light"] .drawer-hosting > .nav-icon { color: #52749d; }
.drawer-backdrop { background: rgba(6,15,26,.6); }
.drawer-panel { border-color: var(--stroke); background: var(--bg-card); box-shadow: -20px 0 54px rgba(0,0,0,.28); }
.drawer-link:hover, .drawer-link.active { border-color: rgba(118,151,191,.25); background: rgba(82,125,184,.12); }
.drawer-hosting { border-color: rgba(117,151,192,.26); background: rgba(74,111,162,.1); }

/* Long-form pages, hosting, newsroom, and lower-page brand art. */
.hero-title, .hero h1, .home-hero h1 { font-family: var(--font-body); font-weight: 780; letter-spacing: -.045em; text-transform: none; }
.hero-subtitle, .hero p { line-height: 1.7; }
.host-feature, .audience-card, .step-card, .price-side .ps-box, .feature-card, .faq-item,
.docs-sidebar, .doc-article, .custody-node, .news-wire-card, .news-story-card, .news-rail-card,
.news-longform, .news-source-section { border-radius: var(--r-lg); }
.host-feature, .audience-card, .step-card, .feature-card, .price-side .ps-box, .news-story-card { background: var(--glass-bg); border: 1px solid var(--stroke); box-shadow: none; }
.invoice-mock { transform: none; border-radius: var(--r-lg); box-shadow: 0 18px 45px rgba(0,0,0,.24); }
.invoice-mock:hover { transform: translateY(-2px); }
.invoice-mock .im-head { background: rgba(91,127,174,.09); }
.invoice-mock .im-paid span { animation: none; transform: rotate(-5deg); }
.host-feature .hf-ico { border-radius: 11px; }
.host-feature h3, .doc-article h1, .doc-article .doc-body h2, .docs-sidebar .ds-title,
.price-card .pc-label, .price-card .pc-price, .price-card .ps-big { font-family: var(--font-body); letter-spacing: -.02em; text-transform: none; }
.custody-node.hl { border-color: rgba(98,188,152,.34); background: rgba(98,188,152,.06); }
.docs-sidebar a.active { color: var(--brand-light); background: rgba(82,125,184,.1); }
.doc-body code.inline { color: var(--brand-light); border-color: rgba(107,145,197,.22); background: rgba(82,125,184,.09); }
.doc-body pre { background: #0a1421; }
[data-theme="light"] .doc-body pre { background: #18283d; }
.doc-callout.info { border-color: rgba(120,169,186,.27); background: rgba(120,169,186,.07); }
.footer { border-top-color: var(--stroke); background: rgba(6,16,28,.52); }
[data-theme="light"] .footer { background: rgba(255,255,255,.66); }
.footer-glow { background: linear-gradient(90deg,transparent,rgba(102,143,194,.26),transparent); }
.footer-links a:hover { color: var(--brand-light); }
.glitch, .glitch--live::before, .glitch--live::after { animation: none !important; }
.scanlines::after { display: none; }

/* Recolor the persistent support assistant to match the financial-services palette. */
.support-launcher { border-color: rgba(255,255,255,.24); background: linear-gradient(135deg,#567dad,#3e6396 62%,#355781); box-shadow: 0 8px 22px rgba(22,52,89,.27),inset 0 1px rgba(255,255,255,.18); }
.support-launcher:hover { box-shadow: 0 10px 26px rgba(22,52,89,.34),inset 0 1px rgba(255,255,255,.2); }
.support-launcher-pulse { background: #9de0bf; box-shadow: 0 0 8px rgba(122,202,160,.45); }
.support-panel { background: linear-gradient(160deg,rgba(20,36,56,.99),rgba(12,25,41,.99)); box-shadow: 0 26px 75px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.04); }
[data-theme="light"] .support-panel { background: linear-gradient(160deg,rgba(255,255,255,.99),rgba(245,248,251,.99)); }
.support-header::after { background: linear-gradient(90deg,rgba(112,151,194,.5),rgba(120,169,186,.2),transparent); }
.support-mark { border-color: rgba(128,159,197,.25); background: rgba(82,125,184,.12); box-shadow: none; }
.support-mark svg { filter: none; }
.support-overline, .support-welcome-kicker, .support-suggestion-icon, .support-privacy-icon { color: #9db7d8; }
[data-theme="light"] .support-overline, [data-theme="light"] .support-welcome-kicker, [data-theme="light"] .support-suggestions-label { color: #416d9e; }
.support-welcome { border-color: rgba(128,159,197,.17); background: linear-gradient(145deg,rgba(95,127,169,.1),rgba(255,255,255,.02)); }
[data-theme="light"] .support-welcome { border-color: rgba(48,84,127,.15); background: linear-gradient(145deg,rgba(83,125,180,.07),rgba(255,255,255,.8)); }
.support-suggestion-icon { border-color: rgba(128,159,197,.18); background: rgba(82,125,184,.1); }
.support-suggestion:hover { border-color: rgba(115,150,192,.32); background: rgba(82,125,184,.09); }
.support-message.user .support-message-copy { border-color: rgba(121,154,194,.2); background: linear-gradient(135deg,rgba(81,121,176,.26),rgba(58,91,135,.2)); }
[data-theme="light"] .support-message.user .support-message-copy { color: #203954; }
.support-message-copy a, [data-theme="light"] .support-message-copy a { color: #7fb3ca; }
[data-theme="light"] .support-message-copy a { color: #286a8b; }
.support-typing i { background: #90adcf; }
.support-input-wrap:focus-within { border-color: rgba(102,143,194,.48); box-shadow: 0 0 0 3px rgba(82,125,184,.09); }
.support-send { background: linear-gradient(135deg,#5b80b1,#3b6094); box-shadow: 0 4px 12px rgba(38,72,117,.2); }

/* Art direction: merchant imagery supports the hosting offer while the invoice stays legible. */
.hosting-hero-visual { position: relative; isolation: isolate; min-height: 390px; display: flex; align-items: flex-end; justify-content: flex-end; padding: 18px; overflow: hidden; border: 1px solid var(--stroke); border-radius: var(--r-xl); background: var(--bg-surface); box-shadow: var(--glass-shadow); }
.hosting-hero-photo { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.hosting-hero-visual::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(8,20,34,.02) 24%, rgba(8,20,34,.48)); pointer-events: none; }
.hosting-hero-visual .invoice-mock { width: 100%; max-width: 400px; transform: none; box-shadow: 0 14px 40px rgba(6,17,29,.3); }
.hosting-hero-visual .invoice-mock:hover { transform: translateY(-2px); }
.giftcards-art { display: block; width: min(340px, 72vw); max-height: 245px; object-fit: contain; margin: 0 auto 10px; filter: drop-shadow(0 12px 22px rgba(31,60,94,.16)); }
.exchange-hero-layout { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 20px; align-items: center; max-width: 860px; margin: 0 auto; }
.swap-flow-hero-art { display: block; width: 100%; max-height: 174px; object-fit: contain; filter: drop-shadow(0 10px 20px rgba(38,72,117,.12)); }
.page img.docs-payment-flow { display: block; width: 100%; max-height: 220px; object-fit: contain; border: 1px solid var(--stroke); border-radius: var(--r-lg); background: linear-gradient(135deg, rgba(82,125,184,.06), rgba(98,140,182,.02)); }

/* Transaction and market pages keep their controls in the foreground. */
.page > .hero:has(img.banner-strip[src*="hero-buy"]) { display: none; }
.page img.banner-strip[src*="buy-crypto-banner"] { height: clamp(104px, 14vw, 166px); object-fit: cover; object-position: center; border: 1px solid var(--stroke); border-radius: var(--r-lg); box-shadow: none; }
.page img.banner-strip[src*="markets-banner"] { height: 150px; object-fit: cover; object-position: center; filter: saturate(.72); border: 1px solid var(--stroke); border-radius: var(--r-lg); box-shadow: none; }
.page img.about-company-banner { height: clamp(150px, 22vw, 225px); object-fit: cover; object-position: center 15%; border: 1px solid var(--stroke); border-radius: var(--r-lg); box-shadow: none; }

@media (max-width: 640px) {
  .nav-container { justify-content: space-between; }
  .nav-right { margin-left: auto; }
  .nav-tools { display: none; }
  .burger { display: inline-flex !important; width: 42px; height: 42px; color: #315f9d; border: 1px solid rgba(49,95,157,.18); border-radius: 10px; background: rgba(49,95,157,.06); }
  .nav-host-icon { background: #456da4; box-shadow: none; }
  .nav-host-icon .nav-icon { display: block; width: 18px; height: 18px; color: #fff; }
  .hero-cta { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .hero-cta .btn { width: 100%; min-width: 0; flex: none; padding: 13px 16px; white-space: normal; }
  .support-widget { right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); }
  .support-launcher { width: 54px; min-width: 54px; height: 54px; padding: 0; }
  .support-launcher-label { display: none; }
  .support-launcher-pulse { top: 8px; right: 8px; }
  .hosting-hero-visual { min-height: 500px; padding: 12px; }
  .hosting-hero-visual .invoice-mock .im-body { gap: 10px; padding: 12px; }
  .hosting-hero-visual .invoice-mock .im-amount { font-size: var(--text-xl); }
  .hosting-hero-visual .invoice-mock .im-amount small { display: block; margin: 2px 0 0; font-size: var(--text-xs); }
  .hosting-hero-visual .invoice-mock .im-qr { width: 76px; height: 76px; padding: 5px; }
  .hosting-hero-visual .invoice-mock .im-row { gap: 6px; padding: 5px 0; font-size: 10px; }
  .hosting-hero-visual .invoice-mock .im-row b { font-size: 9px; }
  .hosting-hero-visual .invoice-mock .im-addr { font-size: 8px; }
  .hosting-hero-visual .invoice-mock .im-key { padding: 10px 12px; }
  .exchange-hero-layout { grid-template-columns: 1fr; gap: 2px; }
  .exchange-hero-layout:has(.swap-flow-hero-art) .section-head { text-align: center !important; }
  .swap-flow-hero-art { width: min(190px, 52vw); max-height: 130px; margin: -2px auto -10px; }
  .page img.banner-strip[src*="markets-banner"] { height: 112px; }
  .page img.banner-strip[src*="buy-crypto-banner"] { height: 104px; }
  .page img.about-company-banner { height: 150px; }
  .page img.docs-payment-flow { max-height: 150px; }
}

@media (prefers-reduced-motion: reduce) {
  .page { animation: none; }
  .ticker-track { animation-duration: 180s; }
}
