/* ─────────────────────────────────────────────────────────────
   Nicola Captures — luxury theme
   Palette: navy · white · champagne gold (Royal Ascot / Rolex feel)
   ───────────────────────────────────────────────────────────── */
:root {
    --nc-navy:        #14254a;   /* primary navy */
    --nc-navy-deep:   #0d1b38;   /* darker navy */
    --nc-gold:        #c8a96a;   /* champagne gold */
    --nc-gold-dark:   #b08d57;
    --nc-champagne:   #efe6d3;   /* pale champagne */
    --nc-ivory:       #faf7f1;   /* off-white background */
    --nc-ink:         #1d2433;   /* body text */

    --bs-body-bg: var(--nc-ivory);
    --bs-body-color: var(--nc-ink);
    --bs-link-color: var(--nc-navy);
    --bs-link-hover-color: var(--nc-gold-dark);
    --bs-primary: var(--nc-navy);
}

body {
    font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    background-color: var(--nc-ivory);
    color: var(--nc-ink);
    letter-spacing: .01em;
}

h1, h2, h3, h4, h5, .navbar-brand, .display-1, .display-4, .card-title {
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    color: var(--nc-navy);
    letter-spacing: .005em;
}

/* ── Gold accent rule under section headings on the storefront ── */
main > .container > h1,
main > .container > h2:not(.h4):not(.h5) {
    position: relative;
    padding-bottom: .5rem;
}
main > .container > h1::after {
    content: "";
    display: block;
    width: 56px; height: 2px;
    margin-top: .6rem;
    background: var(--nc-gold);
}

/* ── Navy surfaces (navbar, footer, admin sidebar) ── */
.bg-dark { background-color: var(--nc-navy) !important; }
.navbar.bg-dark { border-bottom: 2px solid var(--nc-gold); }
.navbar-brand { font-size: 1.4rem; }
.navbar .nav-link { letter-spacing: .08em; text-transform: uppercase; font-size: .82rem; }
.navbar-dark .nav-link:hover, .navbar-dark .nav-link.active { color: var(--nc-gold) !important; }

footer.bg-dark { border-top: 2px solid var(--nc-gold); }

/* ── Buttons ── */
.btn { letter-spacing: .06em; border-radius: 2px; }
.btn-dark {
    --bs-btn-bg: var(--nc-navy);
    --bs-btn-border-color: var(--nc-navy);
    --bs-btn-hover-bg: var(--nc-navy-deep);
    --bs-btn-hover-border-color: var(--nc-navy-deep);
    --bs-btn-active-bg: var(--nc-navy-deep);
}
.btn-primary {
    --bs-btn-bg: var(--nc-navy);
    --bs-btn-border-color: var(--nc-navy);
    --bs-btn-hover-bg: var(--nc-navy-deep);
    --bs-btn-hover-border-color: var(--nc-navy-deep);
}
.btn-outline-dark {
    --bs-btn-color: var(--nc-navy);
    --bs-btn-border-color: var(--nc-navy);
    --bs-btn-hover-bg: var(--nc-navy);
}
/* Champagne CTA */
.btn-gold, .hero .btn-light {
    --bs-btn-color: var(--nc-navy);
    --bs-btn-bg: var(--nc-gold);
    --bs-btn-border-color: var(--nc-gold);
    --bs-btn-hover-color: var(--nc-navy);
    --bs-btn-hover-bg: var(--nc-gold-dark);
    --bs-btn-hover-border-color: var(--nc-gold-dark);
    color: var(--nc-navy);
    background-color: var(--nc-gold);
    border-color: var(--nc-gold);
    font-weight: 600;
}

a { text-decoration-color: var(--nc-gold); }

/* ── Cards ── */
.card { border-radius: 4px; }
.gallery-card, .photo-card { background: #fff; }
.gallery-card .card-title { transition: color .15s ease; }
.gallery-card:hover .card-title { color: var(--nc-gold-dark); }

/* ── Hero ── */
.hero {
    background: linear-gradient(rgba(13,27,56,.62), rgba(13,27,56,.62)),
                center / cover no-repeat;
    color: #fff;
    border: 1px solid rgba(200,169,106,.4);
}
.hero h1, .hero .display-4 { color: #fff; }
.hero .lead { color: var(--nc-champagne); }

/* Full-width top banner (breaks out of the container, flush under the navbar) */
.hero-banner {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top: -1.5rem;            /* cancel the container's top padding */
    border-radius: 0;
    min-height: 380px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-position: center;
    background-size: cover;
}

/* ── Badges ── */
.badge.text-bg-light { background: var(--nc-champagne) !important; color: var(--nc-navy) !important; }

/* ── Admin ── */
.admin-sidebar { width: 250px; min-width: 250px; background-color: var(--nc-navy-deep) !important; }
.admin-sidebar .nav-link.active { background-color: var(--nc-gold) !important; color: var(--nc-navy) !important; }
.admin-sidebar .nav-link:hover { color: var(--nc-gold) !important; }

/* ── Image cards ── */
.photo-card img, .gallery-card img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.photo-card { transition: transform .15s ease, box-shadow .15s ease; }
.photo-card:hover { transform: translateY(-3px); box-shadow: 0 .75rem 1.5rem rgba(20,37,74,.18); }

/* Watermarked previews: discourage casual saving (deterrent only — see app.js). */
img { -webkit-user-drag: none; user-drag: none; }
.preview-img { user-select: none; -webkit-user-select: none; }

.object-fit-cover { object-fit: cover; }
