:root {
    --bmp-primary: #0d3b66;
    --bmp-accent: #f4a259;
}

.navbar-brand {
    letter-spacing: 0.02em;
}

.btn-primary {
    background-color: var(--bmp-primary);
    border-color: var(--bmp-primary);
}
.btn-primary:hover {
    background-color: #092a49;
    border-color: #092a49;
}

.card-cover {
    height: 260px;
    object-fit: cover;
    background: #e9ecef;
}

.hero {
    background: linear-gradient(135deg, var(--bmp-primary), #145b8f);
    color: #fff;
}

.badge-format {
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.star-rating {
    color: var(--bmp-accent);
}

/* Keeps a button clickable above a card's .stretched-link overlay. */
.card-cta {
    position: relative;
    z-index: 2;
}

/* Keeps #-anchor jump targets from hiding under the sticky navbar. */
.scroll-anchor {
    scroll-margin-top: 90px;
}
