/* ==========================================================================
   Bitcoin DeFi Design System — Theme Override
   "Luminescent Void" — dark, premium crypto aesthetic
   Load AFTER style.css to override neumorphic defaults.
   ========================================================================== */

/* --- Self-hosted fonts --- */
@font-face {
    font-family: 'Space Grotesk';
    src: url('../fonts/space-grotesk-latin.woff2') format('woff2');
    font-weight: 400 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Inter';
    src: url('../fonts/inter-latin.woff2') format('woff2');
    font-weight: 400 600;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'JetBrains Mono';
    src: url('../fonts/jetbrains-mono-latin.woff2') format('woff2');
    font-weight: 400 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* --- Token overrides --- */
:root {
    /* Core palette — True Void */
    --canvas: #030304;
    --ink: #FFFFFF;
    --muted: #94A3B8;
    --dim: #64748B;
    --divider: #1E293B;
    --accent: #F7931A;

    /* Surfaces — Dark Matter */
    --card-bg: #0F1115;
    --card-border: rgba(255,255,255,0.1);
    --card-shadow-light: transparent;
    --card-shadow-dark: transparent;
    --card-inset-border: rgba(255,255,255,0.05);

    /* Navbar */
    --nav-bg: rgba(3,3,4,0.85);
    --nav-icon-gradient-start: #EA580C;
    --nav-icon-gradient-end: #F7931A;

    /* Footer */
    --footer-bg: #030304;
    --footer-text: #94A3B8;
    --footer-gradient-start: #F7931A;
    --footer-gradient-end: #EA580C;
    --footer-radius: 0;

    /* Heading gradient — Bitcoin orange to gold */
    --grad-start: #F7931A;
    --grad-end: #FFD600;

    /* Buttons */
    --btn-bg: #F7931A;
    --btn-text: #FFFFFF;
    --btn-hover-bg: #EA580C;

    /* Forms */
    --input-bg: rgba(0,0,0,0.5);
    --input-border: rgba(255,255,255,0.2);
    --input-shadow: transparent;

    /* Feedback */
    --success-bg: rgba(34,197,94,0.1);
    --success-border: rgba(34,197,94,0.3);
    --success-text: #4ADE80;
    --error-bg: rgba(239,68,68,0.1);
    --error-border: rgba(239,68,68,0.3);
    --error-text: #FCA5A5;
    --error-accent: #EF4444;
    --field-error: #F87171;

    /* Fonts */
    --font-heading: 'Space Grotesk', system-ui, sans-serif;
    --font-body: 'Inter', system-ui, sans-serif;
    --font-hand: 'JetBrains Mono', monospace;

    /* Radii */
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 20px;
    --radius-2xl: 24px;

    /* Misc */
    --tooltip-bg: #0F1115;
    --tooltip-text: #FFFFFF;
    --dot-inactive: #1E293B;
    --dot-active: #F7931A;
    --section-alt-bg: #0F1115;
    --marker-color: #1E293B;
    --hover-bg: rgba(247,147,26,0.08);
}

/* ==========================================================================
   Component overrides — Dark void with colored glows
   Using !important to beat Tailwind CDN runtime styles and style.css
   ========================================================================== */

/* --- Global: dark surfaces with subtle borders --- */
body {
    background: #030304 !important;
    color: #FFFFFF !important;
}

.neu,
.neu-subtle {
    background: #0F1115 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
}
.neu:hover,
.neu-subtle:hover {
    border-color: rgba(247,147,26,0.3) !important;
    box-shadow: 0 0 30px -10px rgba(247,147,26,0.15) !important;
}

/* --- Typography --- */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Space Grotesk', system-ui, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: -0.03em !important;
    color: #FFFFFF !important;
}

/* Gradient heading text fill — Bitcoin orange to gold */
.h-grad {
    background-image: linear-gradient(135deg, #F7931A 0%, #FFD600 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
}

/* Body text */
p, li, span, a {
    font-family: 'Inter', system-ui, sans-serif !important;
}
.text-ink {
    color: #FFFFFF !important;
}
.text-muted, .text-dim {
    color: #94A3B8 !important;
}

/* --- Navbar: glass morphism --- */
nav .neu {
    background: rgba(3,3,4,0.85) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: 0 4px 30px rgba(0,0,0,0.4) !important;
    border-radius: 16px !important;
}
nav .neu:hover {
    border-color: rgba(255,255,255,0.08) !important;
    box-shadow: 0 4px 30px rgba(0,0,0,0.4) !important;
}
nav a, nav span {
    color: #FFFFFF !important;
}
nav .font-heading {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-weight: 500 !important;
}
nav a.px-3:hover {
    background: rgba(247,147,26,0.1) !important;
    color: #F7931A !important;
}

/* --- Buttons: gradient pill with glow --- */
.btn-primary {
    background: linear-gradient(to right, #EA580C, #F7931A) !important;
    color: #FFFFFF !important;
    border-radius: 9999px !important;
    box-shadow: 0 0 20px -5px rgba(234,88,12,0.5) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 14px 32px !important;
    border: none !important;
    transition: all 0.3s ease !important;
}
.btn-primary:hover {
    transform: scale(1.05) !important;
    box-shadow: 0 0 30px -5px rgba(247,147,26,0.6) !important;
}
.btn-primary.sm {
    border-radius: 9999px !important;
    padding: 10px 20px !important;
    font-size: 12px !important;
}

.btn-secondary {
    background: transparent !important;
    color: #FFFFFF !important;
    border: 2px solid rgba(255,255,255,0.2) !important;
    border-radius: 9999px !important;
    box-shadow: none !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 14px 32px !important;
    transition: all 0.3s ease !important;
}
.btn-secondary:hover {
    border-color: #FFFFFF !important;
    background: rgba(255,255,255,0.1) !important;
    transform: translateY(-2px) !important;
}

/* --- Badges: orange-tinted pills --- */
.badge {
    background: rgba(247,147,26,0.1) !important;
    border: 1px solid rgba(247,147,26,0.3) !important;
    border-radius: 9999px !important;
    box-shadow: none !important;
    color: #F7931A !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    transform: none !important;
}
.badge svg {
    color: #F7931A !important;
}

/* Badge color variants — all map to orange in this theme */
.badge-green,
.badge-blue,
.badge-purple {
    background: rgba(247,147,26,0.1) !important;
    border-color: rgba(247,147,26,0.3) !important;
    color: #F7931A !important;
}
.badge-gray {
    background: rgba(255,255,255,0.06) !important;
    border-color: rgba(255,255,255,0.1) !important;
    color: #9CA3AF !important;
}

/* --- Hero badge: glass pill with glow --- */
.hero-badge {
    background: rgba(15,17,21,0.8) !important;
    border: 1px solid rgba(247,147,26,0.3) !important;
    box-shadow: 0 0 20px -5px rgba(247,147,26,0.2) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}
.hero-badge-inner {
    background: rgba(247,147,26,0.1) !important;
    border: 1px solid rgba(247,147,26,0.3) !important;
    box-shadow: none !important;
    color: #F7931A !important;
}

/* --- Pulse dot: Bitcoin orange --- */
.pulse {
    background: #F7931A !important;
}
.pulse::before {
    background: #F7931A !important;
}

/* --- Icon feature blocks: orange glow containers --- */
.icon-feature {
    background: rgba(234,88,12,0.15) !important;
    border: 1px solid rgba(234,88,12,0.4) !important;
    box-shadow: none !important;
    border-radius: 12px !important;
    transition: all 0.3s ease !important;
    color: #F7931A !important;
}
.icon-feature:hover {
    box-shadow: 0 0 20px rgba(234,88,12,0.3) !important;
}
.icon-feature svg {
    color: #F7931A !important;
}

/* Cards in grid sections: dark surface */
section > div > .grid > .neu {
    background: #0F1115 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
}

/* --- Module cards: dark with border glow --- */
.module-card,
.module-card:hover {
    background: #0F1115 !important;
    box-shadow: none !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 16px !important;
    transition: all 0.3s ease !important;
}
.module-card:hover {
    border-color: rgba(247,147,26,0.3) !important;
    box-shadow: 0 0 20px -5px rgba(247,147,26,0.15) !important;
    transform: translateY(-2px) !important;
}
.module-card .module-icon {
    background: rgba(234,88,12,0.15) !important;
    border: 1px solid rgba(234,88,12,0.4) !important;
    box-shadow: none !important;
    border-radius: 12px !important;
}
.module-card .module-icon svg {
    color: #F7931A !important;
}
.module-card .module-title {
    font-weight: 700 !important;
    color: #FFFFFF !important;
}
.module-card .module-desc {
    color: #94A3B8 !important;
}

/* --- Integration tiles: dark glass --- */
.integration-tile,
.integration-tile:hover {
    background: #0F1115 !important;
    box-shadow: none !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 12px !important;
    transition: all 0.3s ease !important;
}
.integration-tile:hover {
    border-color: rgba(247,147,26,0.3) !important;
}
.integration-name {
    font-weight: 600 !important;
    color: #FFFFFF !important;
}
.integration-cat {
    color: #94A3B8 !important;
}

/* --- Footer: dark surface with border-top --- */
footer .mx-5 {
    background: #0F1115 !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 24px 24px 0 0 !important;
}
footer a, footer p, footer span {
    font-family: 'Inter', system-ui, sans-serif !important;
}
footer h4 {
    font-family: 'Space Grotesk', system-ui, sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-size: 14px !important;
    color: #FFFFFF !important;
}
footer li a {
    color: #94A3B8 !important;
    font-size: 14px !important;
    transition: color 0.2s ease !important;
}
footer li a:hover {
    color: #F7931A !important;
}
footer .text-dim {
    color: #64748B !important;
}
footer .border-t {
    border-color: rgba(255,255,255,0.1) !important;
}

/* Footer social icons: orange glow */
.footer-social {
    background: rgba(247,147,26,0.15) !important;
    border: 1px solid rgba(247,147,26,0.3) !important;
    box-shadow: none !important;
    border-radius: 10px !important;
    color: #F7931A !important;
    transition: all 0.3s ease !important;
}
.footer-social:hover {
    box-shadow: 0 0 15px rgba(247,147,26,0.3) !important;
    background: rgba(247,147,26,0.25) !important;
}

/* --- Price toggle: dark bg with orange active --- */
.price-toggle {
    background: #0F1115 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    box-shadow: none !important;
    border-radius: 9999px !important;
    padding: 4px !important;
}
.price-toggle button {
    border-radius: 9999px !important;
    color: #94A3B8 !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}
.price-toggle button.active {
    background: linear-gradient(to right, #EA580C, #F7931A) !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 0 15px -3px rgba(247,147,26,0.4) !important;
}

/* --- Popular badge: orange glow --- */
.popular-badge {
    background: linear-gradient(to right, #EA580C, #F7931A) !important;
    color: #FFFFFF !important;
    border-radius: 9999px !important;
    font-size: 11px !important;
    font-family: 'JetBrains Mono', monospace !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    box-shadow: 0 0 20px -5px rgba(247,147,26,0.5) !important;
    transform: rotate(3deg) !important;
}

/* --- Pricing cards --- */
#planGrid > div.neu {
    background: #0F1115 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 16px !important;
    box-shadow: none !important;
    padding: 28px !important;
    transition: all 0.3s ease !important;
}
#planGrid > div.neu:hover {
    border-color: rgba(247,147,26,0.3) !important;
    box-shadow: 0 0 30px -10px rgba(247,147,26,0.2) !important;
    transform: translateY(-4px) !important;
}
/* Featured/popular card */
#planGrid > div.neu:has(.popular-badge) {
    border-color: rgba(247,147,26,0.5) !important;
    box-shadow: 0 0 40px -10px rgba(247,147,26,0.2) !important;
    transform: scale(1.02) !important;
}
#planGrid > div.neu:has(.popular-badge):hover {
    transform: scale(1.04) !important;
}

/* Plan name pills */
#planGrid .plan-name {
    align-self: flex-start !important;
    background: rgba(247,147,26,0.15) !important;
    border: 1px solid rgba(247,147,26,0.3) !important;
    padding: 4px 16px !important;
    border-radius: 9999px !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #F7931A !important;
    transform: none !important;
}

/* Pricing text */
#planGrid p {
    color: #94A3B8 !important;
    font-weight: 500 !important;
}
#planGrid li {
    color: #94A3B8 !important;
    font-weight: 500 !important;
}

/* Check stars: orange */
.check-star {
    background: rgba(247,147,26,0.2) !important;
    border-radius: 9999px !important;
}
.check-star svg {
    color: #F7931A !important;
}

/* Pricing CTA buttons */
#planGrid .btn-primary {
    background: linear-gradient(to right, #EA580C, #F7931A) !important;
}
#planGrid .btn-secondary {
    border-color: rgba(255,255,255,0.15) !important;
    color: #FFFFFF !important;
}

/* --- Compare table: dark surface --- */
#compareCollapse .neu {
    background: #0F1115 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    padding: 0 !important;
}
.compare-table {
    color: #FFFFFF !important;
}
.compare-table th,
.compare-table td {
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    padding: 14px 20px !important;
    color: #94A3B8 !important;
}
.compare-table thead th {
    color: #FFFFFF !important;
    font-family: 'Space Grotesk', system-ui, sans-serif !important;
    background: rgba(247,147,26,0.05) !important;
}
.compare-table th:first-child,
.compare-table td:first-child {
    text-align: left !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
}
/* Highlighted column */
.compare-table th:nth-child(4),
.compare-table td:nth-child(4) {
    background: rgba(247,147,26,0.06) !important;
}
.compare-table .check {
    background: rgba(247,147,26,0.2) !important;
    color: #F7931A !important;
}

/* --- Tab buttons: dark bg with orange active --- */
.tab-btn {
    font-family: 'JetBrains Mono', monospace !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-size: 12px !important;
    color: #94A3B8 !important;
    border-radius: 9999px !important;
}
.tab-btn.neu-subtle,
.tab-btn.active {
    background: linear-gradient(to right, #EA580C, #F7931A) !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 0 15px -3px rgba(247,147,26,0.4) !important;
    border-radius: 9999px !important;
}
.neu-subtle:has(.tab-btn) {
    background: #0F1115 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    box-shadow: none !important;
    border-radius: 9999px !important;
}

/* Feature nav tabs (features.html) */
.feature-nav {
    background: #0F1115 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    box-shadow: none !important;
    border-radius: 9999px !important;
    padding: 4px !important;
}
.feature-nav-link {
    border-radius: 9999px !important;
    padding: 8px 20px !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-weight: 500 !important;
    color: #94A3B8 !important;
    transition: all 0.2s ease !important;
}
.feature-nav-link.active {
    background: linear-gradient(to right, #EA580C, #F7931A) !important;
    color: #FFFFFF !important;
}
.feature-nav-link:not(.active):hover {
    background: rgba(247,147,26,0.1) !important;
    color: #F7931A !important;
}

/* --- FAQ: dark surface with orange accents --- */
.faq-item.neu {
    background: #0F1115 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    transition: all 0.3s ease !important;
}
.faq-item.neu:hover {
    border-color: rgba(247,147,26,0.2) !important;
}
.faq-item.open.neu {
    border-color: rgba(247,147,26,0.3) !important;
    box-shadow: 0 0 20px -5px rgba(247,147,26,0.1) !important;
}
.faq-toggle {
    background: linear-gradient(to right, #EA580C, #F7931A) !important;
    box-shadow: 0 0 10px -2px rgba(247,147,26,0.3) !important;
}
.faq-toggle svg {
    color: #FFFFFF !important;
}

/* --- Testimonials: glass cards --- */
.t-slide .neu {
    background: rgba(15,17,21,0.8) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
}
/* Stars: orange */
.t-slide svg[viewBox="0 0 24 24"] {
    color: #F7931A !important;
    fill: #F7931A !important;
}
/* Avatar circles: orange glow */
.t-slide .rounded-full {
    border: 1px solid rgba(247,147,26,0.3) !important;
}
/* Testimonial dots */
.t-dot {
    background: #1E293B !important;
}
.t-dot.active {
    background: #F7931A !important;
    box-shadow: 0 0 10px rgba(247,147,26,0.4) !important;
}

/* --- Orbit section: dark void with orange energy --- */
/* Ambient orange glow behind entire orbit */
section:has(.orbit) > div > .reveal.relative {
    position: relative !important;
}
section:has(.orbit) > div > .reveal.relative::before {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 60% !important;
    height: 60% !important;
    background: radial-gradient(circle, rgba(247,147,26,0.15) 0%, rgba(234,88,12,0.08) 40%, transparent 70%) !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    z-index: 0 !important;
}
/* Kill ALL glass bowl backgrounds */
section:has(.orbit) .absolute .rounded-full {
    background: none !important;
    box-shadow: none !important;
    border: 1px solid rgba(247,147,26,0.12) !important;
}
/* Outer ring — stronger orange */
section:has(.orbit) .pointer-events-none > .absolute.rounded-full:first-child {
    border: 1px solid rgba(247,147,26,0.2) !important;
}
/* Kill glass bowl gradients */
section:has(.orbit) .pointer-events-none .absolute {
    background: none !important;
    box-shadow: none !important;
}
/* Orbit tile icons — lighter dark cards so icons are visible */
.orbit-tile > * > .rounded-full {
    background: rgba(30,35,45,0.9) !important;
    box-shadow: none !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}
/* Center logo — white circle with glow like reference */
section:has(.orbit) .z-10 > div {
    background: #FFFFFF !important;
    border: 2px solid rgba(255,255,255,0.9) !important;
    box-shadow: 0 0 60px 10px rgba(247,147,26,0.25), 0 0 20px 2px rgba(255,255,255,0.3) !important;
}
section:has(.orbit) .z-10 > div > div {
    background: #FFFFFF !important;
}
section:has(.orbit) .z-10 svg {
    color: #030304 !important;
}

/* --- Stats bar: dark bg --- */
.stats-bar {
    background: #0F1115 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 16px !important;
}

/* --- CTA section: dark with radial glow --- */
section:has(.cta-section) {
    padding-top: 2rem !important;
}
.cta-section {
    background: #0F1115 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 24px !important;
    position: relative !important;
    overflow: hidden !important;
}
.cta-section::before {
    content: '' !important;
    position: absolute !important;
    width: 500px !important;
    height: 500px !important;
    background: #F7931A !important;
    opacity: 0.08 !important;
    filter: blur(120px) !important;
    border-radius: 50% !important;
    top: 50% !important;
    left: 30% !important;
    transform: translate(-50%, -50%) !important;
    pointer-events: none !important;
    animation: none !important;
}
.cta-section::after {
    content: '' !important;
    position: absolute !important;
    width: 400px !important;
    height: 400px !important;
    background: #FFD600 !important;
    opacity: 0.05 !important;
    filter: blur(120px) !important;
    border-radius: 50% !important;
    bottom: -20% !important;
    right: 10% !important;
    pointer-events: none !important;
    animation: none !important;
}
.cta-section .badge {
    background: rgba(247,147,26,0.15) !important;
    border: 1px solid rgba(247,147,26,0.3) !important;
    color: #F7931A !important;
}
.cta-section .h2,
.cta-section .h-grad {
    color: #FFFFFF !important;
    -webkit-text-fill-color: unset !important;
    background: none !important;
}
.cta-section .btn-primary {
    background: linear-gradient(to right, #EA580C, #F7931A) !important;
    color: #FFFFFF !important;
}
.cta-section .btn-secondary {
    border: 2px solid rgba(255,255,255,0.2) !important;
    background: transparent !important;
    color: #FFFFFF !important;
}
.cta-section p {
    color: #94A3B8 !important;
}

/* --- Contact page: info bar + form --- */
.contact-info-bar {
    background: #0F1115 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 16px !important;
    color: #FFFFFF !important;
}
.contact-info-bar .text-white,
.contact-info-bar .text-white\/90 {
    color: #FFFFFF !important;
}
.contact-info-bar [style*="color: var(--footer-text)"] {
    color: #94A3B8 !important;
}
.contact-info-bar [style*="background: rgba(255,255,255,0.06)"] {
    background: rgba(247,147,26,0.15) !important;
    border: 1px solid rgba(247,147,26,0.3) !important;
    border-radius: 10px !important;
}

/* Contact inputs: bottom-border style */
.contact-input {
    background: rgba(0,0,0,0.3) !important;
    border: none !important;
    border-bottom: 2px solid rgba(255,255,255,0.15) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #FFFFFF !important;
    font-weight: 500 !important;
}
.contact-input::placeholder {
    color: rgba(255,255,255,0.3) !important;
}
.contact-input:focus {
    border-bottom-color: #F7931A !important;
    box-shadow: 0 10px 20px -10px rgba(247,147,26,0.2) !important;
}
.contact-input.is-error {
    border-bottom-color: #EF4444 !important;
    box-shadow: none !important;
}

/* Form card */
section .neu:has(#contactForm) {
    background: #0F1115 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 16px !important;
}
#contactForm .btn-primary {
    background: linear-gradient(to right, #EA580C, #F7931A) !important;
    color: #FFFFFF !important;
}

/* Map container */
.rounded-\[16px\]:has(iframe) {
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}

/* --- Signup page --- */
.social-btn {
    background: #0F1115 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    box-shadow: none !important;
    border-radius: 12px !important;
    color: #FFFFFF !important;
    transition: all 0.3s ease !important;
}
.social-btn:hover {
    border-color: rgba(247,147,26,0.3) !important;
    background: rgba(247,147,26,0.05) !important;
    box-shadow: none !important;
}
.or-divider span {
    color: #64748B !important;
}

/* My Account button */
a.neu-subtle:has(.rounded-full) {
    border: 1px solid rgba(255,255,255,0.1) !important;
    box-shadow: none !important;
    border-radius: 9999px !important;
}
a.neu-subtle .rounded-full {
    background: linear-gradient(135deg, #EA580C, #F7931A) !important;
    color: #FFFFFF !important;
}

#signupForm .btn-primary {
    background: linear-gradient(to right, #EA580C, #F7931A) !important;
    color: #FFFFFF !important;
}

/* --- Legal pages --- */
article.neu {
    background: #0F1115 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    box-shadow: none !important;
    border-radius: 16px !important;
}
.policy-toc {
    border: none !important;
}
.policy-toc a {
    color: #94A3B8 !important;
    transition: color 0.2s ease !important;
}
.policy-toc a:hover {
    color: #F7931A !important;
}
.policy-prose h2 {
    color: #FFFFFF !important;
}
.policy-prose p,
.policy-prose li {
    color: #94A3B8 !important;
}
.policy-prose a {
    color: #F7931A !important;
}

/* --- Currency select --- */
.currency-select {
    background: #0F1115 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    box-shadow: none !important;
    border-radius: 9999px !important;
    color: #FFFFFF !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23F7931A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
}

/* --- Section spacing --- */
section.py-24 {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
}

/* --- Background grid pattern for hero --- */
.hero-section::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 60% !important;
    background-size: 50px 50px !important;
    background-image:
        linear-gradient(to right, rgba(30,41,59,0.25) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(30,41,59,0.25) 1px, transparent 1px) !important;
    mask-image: radial-gradient(ellipse at center top, black 10%, transparent 70%) !important;
    -webkit-mask-image: radial-gradient(ellipse at center top, black 10%, transparent 70%) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

/* --- Mobile menu: dark --- */
.mobile-menu {
    background: #0F1115 !important;
    border-left: 1px solid rgba(255,255,255,0.1) !important;
    box-shadow: -20px 0 60px rgba(0,0,0,0.6) !important;
}
.mobile-menu .neu-subtle {
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    box-shadow: none !important;
}
.mobile-menu .neu-subtle:hover {
    border-color: rgba(247,147,26,0.3) !important;
    background: rgba(247,147,26,0.1) !important;
}
#nav-close {
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    box-shadow: none !important;
    color: #FFFFFF !important;
}
#nav-close:hover {
    border-color: rgba(247,147,26,0.3) !important;
    background: rgba(247,147,26,0.1) !important;
}
#nav-close svg {
    stroke: #FFFFFF !important;
}
.mob-link {
    color: #FFFFFF !important;
    font-family: 'JetBrains Mono', monospace !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-size: 13px !important;
}
.mob-link:hover {
    background: rgba(247,147,26,0.1) !important;
    border-color: rgba(247,147,26,0.3) !important;
}
.mobile-menu .btn-primary {
    background: linear-gradient(to right, #EA580C, #F7931A) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 12px !important;
    box-shadow: 0 0 20px rgba(247,147,26,0.3) !important;
    font-family: 'JetBrains Mono', monospace !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* --- Reveal animations: slightly faster for crypto precision --- */
.reveal {
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

/* --- Text color overrides for dark bg --- */
.text-ink { color: #FFFFFF !important; }
[style*="color: var(--footer-text)"] { color: #94A3B8 !important; }

/* --- Save label --- */
.save-label {
    color: #FFD600 !important;
    font-family: 'JetBrains Mono', monospace !important;
}

/* --- Form alerts --- */
.form-alert.success {
    background: rgba(34,197,94,0.1) !important;
    border: 1px solid rgba(34,197,94,0.3) !important;
    color: #4ADE80 !important;
}
.form-alert.error {
    background: rgba(239,68,68,0.1) !important;
    border: 1px solid rgba(239,68,68,0.3) !important;
    color: #FCA5A5 !important;
}
.field-error {
    color: #F87171 !important;
}

/* --- Scrollbar styling --- */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: #030304;
}
::-webkit-scrollbar-thumb {
    background: #1E293B;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #334155;
}

/* --- Before/After section --- */
.compare-before {
    background: #0F1115 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
}
.compare-after {
    background: rgba(247,147,26,0.05) !important;
    border: 1px solid rgba(247,147,26,0.2) !important;
}

/* --- Marquee logos: invert for dark bg --- */
.marquee-track img {
    height: 28px !important;
    filter: brightness(0) invert(1) !important;
    opacity: 0.5 !important;
}

/* --- Selection color --- */
::selection {
    background: rgba(247,147,26,0.3);
    color: #FFFFFF;
}

/* Nav dropdown */
.nav-dropdown-menu {
    background: #0F1115 !important;
    border: 1px solid rgba(247,147,26,0.3) !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 30px rgba(0,0,0,0.4), 0 0 20px rgba(247,147,26,0.15) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
}
.nav-dropdown-menu a { color: #FFFFFF !important; border-radius: 6px !important; font-family: 'JetBrains Mono', monospace !important; font-size: 13px !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; }
.nav-dropdown-menu a:hover { background: rgba(247,147,26,0.15) !important; color: #F7931A !important; }
.nav-dropdown-toggle { color: #FFFFFF !important; }
.nav-dropdown-toggle svg.chevron-icon { stroke: #F7931A !important; }
.mob-accordion-toggle { color: #FFFFFF !important; }
.mob-accordion-body a { color: rgba(255,255,255,0.6) !important; }
.mob-accordion-body a:hover { color: #F7931A !important; }
