/* Bongo Web brand overrides — ink/charcoal/amber, flat surfaces, no gradients or shadows */

:root {
    --color-ink: #111214;
    --color-charcoal: #26282B;
    --color-amber: #D98E3E;
    --color-white: #FFFFFF;
    --color-grey-light: #B3B5B8;
    --color-offwhite: #F7F5F0;
    --color-grey-mid: #5A5C5F;

    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Consolas, monospace;
}

/* Base */
body, h1, h2, h3, h4, h5, h6, .navigation-menu, .btn, input, textarea, select {
    font-family: var(--font-sans) !important;
}

body {
    background-color: var(--color-offwhite) !important;
    color: var(--color-ink) !important;
}

a { color: var(--color-amber); }
a:hover { color: var(--color-amber); }

.text-muted { color: var(--color-grey-mid) !important; }

.font-mono { font-family: var(--font-mono) !important; letter-spacing: 0; }

/* Flat surfaces: no shadows, no gradients */
#topnav, .btn, .card, .navigation-menu .submenu, #back-to-top {
    box-shadow: none !important;
    background-image: none !important;
}

/* Nav — always solid ink, regardless of page surface */
#topnav, #topnav.nav-sticky, #topnav.defaultscroll.sticky {
    background-color: var(--color-ink) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

#topnav .logo-text {
    font-family: var(--font-sans);
    font-weight: 700;
    letter-spacing: -0.02em;
    text-transform: lowercase;
    font-size: 1.35rem;
    color: var(--color-white) !important;
}

#topnav .navigation-menu > li > a {
    color: var(--color-grey-light) !important;
    font-weight: 500;
}

#topnav .navigation-menu > li > a:hover,
#topnav .navigation-menu > li > a.active {
    color: var(--color-amber) !important;
}

#topnav .navbar-toggle .lines span {
    background-color: var(--color-white) !important;
}

/* Dark hero surface — homepage only */
.section-dark {
    background-color: var(--color-ink);
    color: var(--color-white);
}
.section-dark .text-muted,
.section-dark p {
    color: var(--color-grey-light) !important;
}
.section-dark h1, .section-dark h2, .section-dark h3, .section-dark h4 {
    color: var(--color-white);
}

/* Charcoal surface — footer */
.section-charcoal {
    background-color: var(--color-charcoal);
    color: var(--color-white);
}
.section-charcoal a { color: var(--color-grey-light); }
.section-charcoal a:hover { color: var(--color-amber); }

/* Light surface — inner pages / most sections */
.section-light {
    background-color: var(--color-offwhite);
    color: var(--color-ink);
}

/* Accent text (small highlights only — not body copy) */
.text-accent { color: var(--color-amber) !important; }

/* CTA buttons — outline treatment, never solid filled */
.btn-brand {
    display: inline-block;
    padding: 0.65rem 1.85rem;
    border: 1px solid var(--color-amber);
    border-radius: 999px;
    color: var(--color-amber) !important;
    background-color: transparent;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}
.btn-brand:hover {
    background-color: var(--color-amber);
    color: var(--color-ink) !important;
}

/* Feature / service icon circles — flat, neutral tint, amber glyph */
.icon-circle {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(90, 92, 95, 0.08);
}
.icon-circle i { color: var(--color-amber); }

.section-dark .icon-circle {
    background-color: rgba(255, 255, 255, 0.08);
}

/* Photographic section backgrounds (hero etc.) — dark scrim keeps text legible */
.photo-bg {
    background-size: cover;
    background-position: center;
    position: relative;
}
.photo-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(17, 18, 20, 0.78);
}
.photo-bg > .container {
    position: relative;
    z-index: 1;
}

/* Content photography — consistent, restrained framing */
.photo-frame img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 6px;
}

/* Back to top button */
#back-to-top {
    background-color: var(--color-ink) !important;
    color: var(--color-white) !important;
    border: 1px solid rgba(255,255,255,0.15);
}
