@import url("railcard.css");

:root {
    --dog-primary: #0d6efd;
    --dog-primary-dark: #0a58ca;
    --dog-accent: #ffc107;
    --dog-accent-dark: #d39e00;
    --dog-secondary: #6c757d;
    --dog-bg: #ffffff;
    --dog-surface: #ffffff;
    --dog-text: #212529;
    --dog-muted: rgba(33, 37, 41, 0.75);
    --dog-border: #dee2e6;
    --dog-on-primary: #ffffff;
    --dog-on-accent: #1a1a1a;
    --dog-radius: 0.375rem;
    --dog-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

body {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 13px;
    line-height: 1.5;
    background-color: var(--dog-bg);
    color: var(--dog-text);
}

h1,
h2,
h3,
h4 {
    color: var(--dog-text);
    letter-spacing: 0.01em;
}

a {
    color: var(--dog-primary);
    text-decoration: underline;
}

a:hover,
a:focus {
    color: var(--dog-primary-dark);
}

.c-button {
    background-color: var(--dog-primary);
    color: var(--dog-on-primary);
    border-radius: var(--dog-radius);
    box-shadow: var(--dog-shadow);
}

.c-button:hover,
.c-button:focus {
    background-color: var(--dog-primary-dark);
    color: var(--dog-on-primary);
}

.c-button.is-active {
    background-color: var(--dog-primary-dark);
    color: var(--dog-on-primary);
}

.c-button .o-icon svg {
    fill: currentColor;
}

.c-card {
    border-color: var(--dog-border);
    background: var(--dog-surface);
    box-shadow: var(--dog-shadow);
}

.c-card__header {
    background: var(--dog-primary);
    color: var(--dog-on-primary);
}

.c-alert {
    border-color: var(--dog-primary);
    background: var(--dog-surface);
}

.c-alert__heading {
    color: var(--dog-primary);
}

.c-alert .o-icon {
    fill: var(--dog-primary);
}

.c-accordion__item:not(:first-child) {
    border-top-color: var(--dog-border);
}

.c-accordion__toggle {
    color: var(--dog-primary-dark);
}

.c-form-label {
    color: var(--dog-text);
    font-weight: 400;
}

.c-form-control {
    border: 1px solid var(--dog-border);
    border-radius: var(--dog-radius);
    background: var(--dog-surface);
    color: var(--dog-text);
}

.c-form-control:focus {
    border-color: var(--dog-primary);
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    outline: none;
}

.c-hamburger__inner,
.c-hamburger__inner::before,
.c-hamburger__inner::after {
    background-color: var(--dog-primary);
}

.c-hamburger:hover .c-hamburger__inner,
.c-hamburger:hover ::before,
.c-hamburger:hover ::after,
.c-hamburger:focus .c-hamburger__inner,
.c-hamburger:focus ::before,
.c-hamburger:focus ::after {
    background-color: var(--dog-secondary);
}

.hrGray {
    border-color: var(--dog-border);
}

.u-underline,
.underLine {
    text-decoration-color: var(--dog-primary);
}
