@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');

:root {
    --bg-900: #061426; /* deep navy */
    --bg-800: #081827;
    --panel: #0f1724;
    --muted: #9aa7b2;
    --text: #e6f3ff;
    --accent-start: #4a9eff;
    --accent-end: #00c2ff;
    --accent-shadow: rgba(6, 120, 200, 0.14);
}

html, body {
    height: 100%;
    font-family: 'Inter', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    background: linear-gradient(180deg, var(--bg-900) 0%, var(--bg-800) 100%);
    color: var(--text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Links & accents */
a, .btn-link {
    color: var(--accent-start);
}

/* Buttons */
.btn-primary {
    color: #04202a;
    background: linear-gradient(90deg, var(--accent-start), var(--accent-end));
    border: none;
    padding: 0.65rem 1.1rem;
    border-radius: 10px;
    font-weight: 600;
    box-shadow: 0 6px 20px var(--accent-shadow);
    transition: transform 160ms ease, box-shadow 160ms ease, opacity 120ms ease;
}
.btn-primary:hover {
    transform: translateY(-2px);
    opacity: 0.98;
}
.btn-outline-primary {
    color: var(--accent-start);
    border: 1px solid rgba(74,158,255,0.14);
    background: transparent;
}

.btn {
    border-radius: 10px;
}

/* Focus rings */
.btn:focus, .btn:active:focus, .form-control:focus {
    outline: none;
    box-shadow: 0 0 0 4px rgba(74,158,255,0.08);
}

/* Layout helpers */
.content {
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.main-fullwidth {
    width: 100%;
}

/* Hero */
.min-vh-50 {
    min-height: 56vh;
}
.bg-hero {
    background: linear-gradient(180deg, rgba(6,18,36,0.28) 0%, rgba(6,18,36,0.18) 100%), url('/images/voice-wave.svg');
    background-repeat: no-repeat;
    background-position: top center;
    background-size: contain;
}

/* Cards */
.card {
    background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
    border: 1px solid rgba(255,255,255,0.03);
    color: var(--text);
    border-radius: 12px;
}
.card h5, .card .card-title { color: var(--text); }
.card .card-text { color: var(--muted); }

.card-header {
    background: transparent !important;
    border-bottom: none;
}

/* Utility color tweaks */
.bg-light { background-color: transparent !important; }
.bg-dark { background-color: transparent !important; }
.text-primary { color: var(--accent-start) !important; }
.text-muted { color: var(--muted) !important; }

/* Navbar / brand */
.top-row a { color: var(--muted); text-decoration: none; font-weight:600; }
.navbar-brand { color: var(--text); font-weight:700; letter-spacing:0.4px; }

/* small UI details */
.shadow-sm { box-shadow: 0 6px 18px rgba(2,6,23,0.6) !important; }

.blazor-error-boundary {
    padding: 1rem 1rem 1rem 1.2rem;
    background: rgba(179, 33, 33, 0.06);
    border: 1px solid rgba(179,33,33,0.08);
    color: #ffdede;
}

.blazor-error-boundary::after { content: "An error has occurred." }

/* responsive image helpers */
.img-fluid { max-width: 100%; height: auto; }

/* small text helpers */
.lead { color: var(--muted); font-size: 1.05rem; }

/* tweak headings */
h1, h2, h3 { color: var(--text); }

/* Cards inside feature grid */
.card-body i { color: var(--accent-start); }

/* Footer */
.bg-dark { background: linear-gradient(180deg, rgba(2,6,23,0.0), rgba(2,6,23,0.0)); }

/* accessibility: reduce motion */
@media (prefers-reduced-motion: reduce) {
  .btn-primary, .btn { transition: none !important; }
}