/*
 * Inner pages (layouts/lawfirm): Bootstrap tuned to the obsidian, gold and ivory palette,
 * the legacy variables the page styles use, and shared page components.
 * Loaded after bullion-theme.css; page <style> blocks come after this file.
 */

/* ── Legacy variables used by older page styles, mapped to the white-and-gold palette ── */
:root {
    --gold: #b88a3b;
    --gold-light: #e7d6b2;
    --gold-dark: #87621f;
    --navy: #171512;               /* was the brand dark; now obsidian, used for text */
    --navy-mid: #2b2720;
    --navy-light: #3f3a31;
    --cream: #f8f3e9;              /* page background */
    --cream-dark: #f1e8d6;
    --text: #3f3a31;
    --text-muted: #6f6656;
    --font-display: var(--jb-serif);
    --font-body: var(--jb-sans);
    --nav-height: 0px;             /* the header is in the page flow, not fixed */
    --announcement-height: 0px;
    --announcement-offset: 0px;

    /* Bootstrap (light mode) in the brand colours */
    --bs-body-bg: #f8f3e9;
    --bs-body-color: #3f3a31;
    --bs-body-font-family: var(--jb-sans);
    --bs-emphasis-color: #171512;
    --bs-secondary-color: #6f6656;
    --bs-border-color: #e8dfd0;
    --bs-heading-color: #171512;
    --bs-link-color: #87621f;
    --bs-link-color-rgb: 135, 98, 31;
    --bs-link-hover-color: #6b4d17;
    --bs-link-hover-color-rgb: 107, 77, 23;
    --bs-primary: #b88a3b;
    --bs-primary-rgb: 184, 138, 59;
    --bs-focus-ring-color: rgba(184, 138, 59, .3);
}

.jb-inner { font-size: 15px; line-height: 1.6; }
.jb-inner main { min-height: 50vh; }
.jb-inner :where(h1, h2, h3, h4, h5, h6) { font-family: var(--jb-serif); color: var(--jb-ink); }
.jb-inner .container { max-width: 1280px; }

/* Bootstrap components */
.jb-inner .card { --bs-card-bg: #fff; --bs-card-border-color: var(--jb-line); --bs-card-cap-bg: var(--jb-panel-2); border-radius: var(--jb-r-card); box-shadow: var(--jb-shadow); }
.jb-inner .form-control, .jb-inner .form-select {
    background-color: #fff; border-color: var(--jb-line-strong); color: var(--jb-ink); border-radius: var(--jb-r-ctl);
}
.jb-inner .form-control::placeholder { color: #a99d86; }
.jb-inner .form-control:focus, .jb-inner .form-select:focus { background-color: #fff; border-color: var(--jb-gold); box-shadow: 0 0 0 .2rem rgba(201, 163, 92, .2); color: var(--jb-ink); }
.jb-inner .form-label { color: var(--jb-ink); font-weight: 600; font-size: 13.5px; }
.jb-inner .form-check-input { background-color: #fff; border-color: var(--jb-line-strong); }
.jb-inner .form-check-input:checked { background-color: var(--jb-gold); border-color: var(--jb-gold); }
.jb-inner .input-group-text { background: #fbf3e1; border-color: var(--jb-line-strong); color: var(--jb-gold-strong); }
.jb-inner .table { --bs-table-bg: #fff; --bs-table-color: var(--jb-text); --bs-table-border-color: var(--jb-line-soft); --bs-table-striped-bg: #fffaf0; --bs-table-hover-bg: #fffaf0; }
.jb-inner .table thead th { color: var(--jb-gold-deep); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; background: #fbf3e1; }
.jb-inner .alert { border-radius: 14px; }
.jb-inner .modal-content { background: #fff; border: 1px solid var(--jb-line); border-radius: var(--jb-r-card); }
.jb-inner .dropdown-menu { background: #fff; border-color: var(--jb-line); }
.jb-inner .pagination { --bs-pagination-bg: #fff; --bs-pagination-border-color: var(--jb-line); --bs-pagination-color: var(--jb-text); --bs-pagination-hover-bg: #fbf3e1; --bs-pagination-hover-color: var(--jb-ink); --bs-pagination-active-bg: var(--jb-obsidian); --bs-pagination-active-border-color: var(--jb-obsidian); --bs-pagination-active-color: var(--jb-ivory); --bs-pagination-disabled-bg: #fff; --bs-pagination-disabled-color: #b9ae98; }
.jb-inner .btn { border-radius: var(--jb-r-btn); font-weight: 600; }
.jb-inner .btn-primary { --bs-btn-bg: var(--jb-gold); --bs-btn-border-color: var(--jb-gold); --bs-btn-color: var(--jb-obsidian); --bs-btn-hover-bg: #c99c4c; --bs-btn-hover-border-color: #c99c4c; --bs-btn-hover-color: var(--jb-obsidian); --bs-btn-active-bg: #a67a30; --bs-btn-active-color: var(--jb-obsidian); }
.jb-inner .btn-outline-primary, .jb-inner .btn-outline-secondary, .jb-inner .btn-outline-light, .jb-inner .btn-outline-dark {
    --bs-btn-color: var(--jb-ink); --bs-btn-border-color: var(--jb-line-strong); --bs-btn-hover-bg: #fbf3e1; --bs-btn-hover-border-color: var(--jb-gold); --bs-btn-hover-color: var(--jb-ink);
}
.jb-inner .text-muted { color: var(--jb-muted) !important; }
.jb-inner .text-success { color: var(--jb-up) !important; }
.jb-inner .text-danger { color: var(--jb-down) !important; }
.jb-inner .text-primary, .jb-inner .text-info { color: var(--jb-gold-strong) !important; }
.jb-inner .text-warning { color: #9a4a00 !important; }
.jb-inner .badge.bg-success { background-color: #e5f5ec !important; color: var(--jb-up) !important; border: 1px solid #b7e2c9; }
.jb-inner .badge.bg-danger { background-color: #fbe9e7 !important; color: var(--jb-down) !important; border: 1px solid #f2c4bd; }
.jb-inner .badge.bg-warning { background-color: #fff1de !important; color: #9a4a00 !important; border: 1px solid #f6c98f; }
.jb-inner .text-dark, .jb-inner .text-black { color: var(--jb-ink) !important; }
.jb-inner .shadow, .jb-inner .shadow-sm, .jb-inner .shadow-lg { box-shadow: var(--jb-shadow) !important; }

/* ── Helper classes the pages already use ── */
.jb-inner .text-navy { color: var(--jb-ink) !important; }
.jb-inner .text-gold { color: var(--jb-gold) !important; }
.jb-inner .bg-navy { background-color: var(--jb-panel-2) !important; }
.jb-inner .bg-gold { background-color: var(--jb-gold) !important; color: var(--jb-obsidian) !important; }
.jb-inner .bg-cream { background-color: var(--jb-ground) !important; }
.jb-inner .btn-gold { background: var(--jb-gold); color: var(--jb-obsidian); border: 1px solid var(--jb-gold); }
.jb-inner .btn-gold:hover { background: #c99c4c; color: var(--jb-obsidian); }
.jb-inner .btn-navy, .jb-inner .btn-outline-navy { background: #fff; color: var(--jb-ink); border: 1px solid var(--jb-line-strong); }
.jb-inner .btn-navy:hover, .jb-inner .btn-outline-navy:hover { background: #fffaf0; border-color: var(--jb-gold); color: var(--jb-ink); }
.jb-inner .label-brand { display: inline-block; color: var(--jb-gold-strong); font-size: 10.5px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; margin-bottom: 8px; }
.jb-inner .title-premium, .jb-inner .display-font { font-family: var(--jb-serif); color: var(--jb-ink); }
.jb-inner .gold-separator, .jb-inner .accent-line-gold { height: 2px; background: linear-gradient(90deg, var(--jb-gold), transparent); border: 0; }
.jb-inner .accent-line-gold.mx-auto { width: 120px; background: linear-gradient(90deg, transparent, var(--jb-gold), transparent); }
.jb-inner .glass-card-dark { background: #fff; border: 1px solid var(--jb-line); border-radius: var(--jb-r-card); box-shadow: var(--jb-shadow); }

/* Round floating buttons (the letters' download button) */
.jb-inner .floating-contact-btn { position: fixed; width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; font-size: 1.3rem; text-decoration: none; z-index: 30; box-shadow: var(--jb-shadow-lg); transition: transform .2s; }
.jb-inner .floating-contact-btn:hover { transform: scale(1.08); }

/* ── Page heading shared by the inner pages (layouts/partials/page-head) ── */
/* Obsidian band with a soft gold glow, continuing the dark header */
.jb-pagehead { position: relative; overflow: hidden; padding: 48px 0 52px; color: var(--jb-on-dark); background:
    radial-gradient(700px 320px at 88% 0%, rgba(184, 138, 59, .2), transparent 65%),
    radial-gradient(520px 260px at 0% 100%, rgba(184, 138, 59, .1), transparent 65%),
    var(--jb-obsidian); }
.jb-pagehead::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--jb-hairline); opacity: .6; }
@media (min-width: 768px) { .jb-pagehead { padding: 72px 0 76px; } }
.jb-pagehead--center { text-align: center; }
.jb-pagehead--center .jb-eyebrow::before { display: none; }
.jb-pagehead .jb-eyebrow { color: var(--jb-gold); }
.jb-pagehead__crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; color: var(--jb-on-dark-muted); font-size: 11.5px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.jb-pagehead--center .jb-pagehead__crumbs { justify-content: center; }
.jb-pagehead__crumbs a { color: var(--jb-champagne); text-decoration: none; }
.jb-pagehead__crumbs a:hover { color: #fff; }
.jb-pagehead__crumbs a:focus-visible { outline-color: var(--jb-champagne); }
.jb-pagehead__crumbs span[aria-hidden] { opacity: .5; }
.jb-pagehead__title { margin-top: 14px !important; color: var(--jb-ivory) !important; font: 500 clamp(38px, 5.4vw, 66px)/1.02 var(--jb-serif); letter-spacing: -.01em; }
.jb-pagehead__title .jb-foil { display: inline; font-style: italic; }
.jb-pagehead__sub { max-width: 680px; margin-top: 18px !important; color: var(--jb-on-dark); font-size: 16px; line-height: 1.7; }
.jb-pagehead--center .jb-pagehead__sub { margin-left: auto; margin-right: auto; }

/* Generic panel for page content */
.jb-panel { padding: 22px; border: 1px solid var(--jb-line); border-radius: var(--jb-r-card); background: #fff; box-shadow: var(--jb-shadow); }
@media (min-width: 768px) { .jb-panel { padding: 28px; } }
.jb-panel--glow { background: linear-gradient(180deg, #fffaf0, #fff 60%); }

/* A white "paper" sheet for documents (letters, notices) */
.jb-paper { background: #fff; color: #222; border-radius: 6px; border: 1px solid var(--jb-line); box-shadow: var(--jb-shadow-lg); }

/* Sitemap (sitemap page and contact page) */
.jb-sitemap { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.jb-sitemap__group { padding: 18px; border: 1px solid var(--jb-line); border-radius: var(--jb-r-card); background: #fff; box-shadow: var(--jb-shadow); }
.jb-sitemap__group h3 { margin: 0 0 10px; font-size: 15px; font-weight: 600; }
.jb-sitemap__group ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 7px; }
.jb-sitemap__group a { color: var(--jb-text); font-size: 13.5px; text-decoration: none; }
.jb-sitemap__group a:hover { color: var(--jb-gold-strong); }
