:root {
    --prut-ocean-900: #0b2f44;
    --prut-ocean-700: #114d6e;
    --prut-ocean-500: #1e7ba8;
    --prut-sand-100: #f4f8f8;
    --prut-foam-100: #e8f4f7;
    --prut-accent: #3bc9a4;
}

html, body {
    font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
    background: linear-gradient(180deg, #f8fcfd 0%, #eff7f9 100%);
    color: #123;
}

a, .btn-link {
    color: var(--prut-ocean-700);
}

.btn-primary {
    color: #fff;
    background-color: var(--prut-ocean-700);
    border-color: var(--prut-ocean-700);
}

.btn-primary:hover {
    background-color: var(--prut-ocean-900);
    border-color: var(--prut-ocean-900);
}

.content {
    padding-top: 1.1rem;
}

.fishing-hero {
    background: radial-gradient(circle at 20% 10%, rgba(59, 201, 164, 0.22), transparent 45%), linear-gradient(120deg, var(--prut-ocean-900) 0%, var(--prut-ocean-700) 55%, var(--prut-ocean-500) 100%);
    color: white;
}

.hero-kicker {
    color: #b9eaf9;
    letter-spacing: 0.14em;
}

.fish-card {
    background: linear-gradient(180deg, #ffffff 0%, var(--prut-sand-100) 100%);
}

.tide-badge {
    color: var(--prut-ocean-700);
    background-color: var(--prut-foam-100);
    border: 1px solid rgba(17, 77, 110, 0.2);
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50880;
}

.validation-message {
    color: #e50880;
}

.blazor-error-boundary {
    background: #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

.blazor-error-boundary::after {
    content: "An error has occurred.";
}

.cookie-overlay {
    position: fixed;
    inset: 0;
    z-index: 1080;
    display: flex;
    align-items: end;
    justify-content: center;
    padding: 1rem;
    background: rgba(6, 24, 36, 0.45);
}

.cookie-banner {
    width: min(920px, 100%);
    background: #fff;
    border-radius: 0.75rem;
    border: 1px solid rgba(17, 77, 110, 0.22);
    padding: 1rem 1rem 1.1rem;
}

.cookie-text {
    color: #2b3b44;
}

.cookie-btn {
    min-width: 9rem;
}

.cookie-btn-equal {
    color: #0b2f44;
    background-color: #ffffff;
    border: 1px solid #114d6e;
}

.cookie-btn-equal:hover {
    color: #ffffff;
    background-color: #114d6e;
    border-color: #114d6e;
}

.cookie-settings-btn {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1040;
    background: #fff;
}
