:root {
    --orange: #D4541A;
    --navy:   #1B3A6B;
}

/* ── Brand colors ─────────────────────────────────────────── */
.nv-bg-orange  { background-color: var(--orange); }
.nv-bg-navy    { background-color: var(--navy); }
.nv-navy       { color: var(--navy); }
.nv-orange     { color: var(--orange); }
.nv-border-orange { border-color: var(--orange); }

/* novovitae logo */
.nv-ae   { color: #B91C1C; font-style: italic; }
.nv-icon { color: var(--orange); font-size: 1rem; }

/* ── Navigation ───────────────────────────────────────────── */
.nv-nav-link {
    display: flex;
    align-items: center;
    padding: 0 1rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
    transition: background-color 0.15s;
}
.nv-nav-link:hover { background-color: rgba(255,255,255,0.12); }
.nv-nav-link.active { background-color: rgba(0,0,0,0.15); }

/* ── Hero ─────────────────────────────────────────────────── */
.nv-hero {
    background-color: var(--navy);
    background-image: linear-gradient(135deg, rgba(27,58,107,0.92) 0%, rgba(212,84,26,0.75) 100%);
    position: relative;
    overflow: hidden;
}
.nv-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('/assets/images/hero-bg.jpg') center/cover no-repeat;
    opacity: 0.18;
}
.nv-hero-content { position: relative; }

/* ── Buttons ──────────────────────────────────────────────── */
.btn-orange {
    background-color: var(--orange);
    color: #fff;
    font-weight: 700;
    padding: 0.625rem 1.5rem;
    border-radius: 0.25rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: filter 0.15s, transform 0.15s;
}
.btn-orange:hover { filter: brightness(1.1); transform: translateY(-1px); }

.btn-navy {
    background-color: var(--navy);
    color: #fff;
    font-weight: 700;
    padding: 0.625rem 1.5rem;
    border-radius: 0.25rem;
    transition: filter 0.15s;
}
.btn-navy:hover { filter: brightness(1.15); }

/* ── Cards ────────────────────────────────────────────────── */
.lot-card {
    background: #fff;
    border-radius: 0.75rem;
    border: 1px solid #e5e7eb;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.2s, transform 0.2s;
}
.lot-card:hover {
    box-shadow: 0 8px 24px rgba(27,58,107,0.12);
    transform: translateY(-2px);
}

/* ── Utilities ────────────────────────────────────────────── */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Swiper overrides */
.swiper-button-next,
.swiper-button-prev {
    color: var(--navy);
    background: rgba(255,255,255,0.9);
    width: 36px;
    height: 36px;
    border-radius: 50%;
}
.swiper-button-next::after,
.swiper-button-prev::after { font-size: 13px; font-weight: 800; }
.swiper-pagination-bullet-active { background: var(--orange); }
