/* Nodely brand overrides — loaded after Bootstrap */

:root {
    --bs-primary: #0678BE;
    --bs-primary-rgb: 6, 120, 190;
    --bs-link-color: #0678BE;
    --bs-link-color-rgb: 6, 120, 190;
    --bs-link-hover-color: #0561a0;
    --drupal-navy: #1b3a4b;
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #0678BE;
    --bs-btn-border-color: #0678BE;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0561a0;
    --bs-btn-hover-border-color: #0561a0;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0561a0;
    --bs-btn-active-border-color: #0561a0;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #0678BE;
    --bs-btn-disabled-border-color: #0678BE;
    --bs-btn-focus-shadow-rgb: 6, 120, 190;
}

.btn-light {
    --bs-btn-color: #000;
    --bs-btn-bg: #f8f9fa;
    --bs-btn-border-color: #f8f9fa;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #d3d4d5;
    --bs-btn-hover-border-color: #c6c7c8;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #c6c7c8;
    --bs-btn-active-border-color: #babbbc;
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #f8f9fa;
    --bs-btn-disabled-border-color: #f8f9fa;
}

.btn-outline-primary {
    --bs-btn-color: #0678BE;
    --bs-btn-border-color: #0678BE;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0678BE;
    --bs-btn-hover-border-color: #0678BE;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0678BE;
    --bs-btn-active-border-color: #0678BE;
    --bs-btn-focus-shadow-rgb: 6, 120, 190;
}

/* ── Typography ─────────────────────────────────────────── */

h1, h2, h3, .h1, .h2, .h3 { font-weight: 700; letter-spacing: -0.03em; }
h4, h5, h6, .h4, .h5, .h6 { font-weight: 600; }
.ls-md { letter-spacing: 0.1em !important; }
.display-4 { font-weight: 700; }

/* ── Extended spacing scale (Bootstrap only ships 0–5) ──── */
/* Base: 6=2.5rem  7=3rem  8=4rem  9=5rem  10=6rem */

.mt-6  { margin-top:    2.5rem !important; }
.mt-7  { margin-top:    3rem   !important; }
.mt-8  { margin-top:    4rem   !important; }
.mb-6  { margin-bottom: 2.5rem !important; }
.mb-7  { margin-bottom: 3rem   !important; }
.mb-8  { margin-bottom: 4rem   !important; }
.pt-6  { padding-top:    2.5rem !important; }
.pb-6  { padding-bottom: 2.5rem !important; }
.py-6  { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
.py-7  { padding-top: 3rem   !important; padding-bottom: 3rem   !important; }
.py-8  { padding-top: 4rem   !important; padding-bottom: 4rem   !important; }
.py-9  { padding-top: 5rem   !important; padding-bottom: 5rem   !important; }
.py-10 { padding-top: 6rem   !important; padding-bottom: 6rem   !important; }
.px-6  { padding-left: 2.5rem !important; padding-right: 2.5rem !important; }
.p-6   { padding: 2.5rem !important; }
.p-7   { padding: 3rem   !important; }
.p-8   { padding: 4rem   !important; }

/* lg (≥992px) */
@media (min-width: 992px) {
    .py-lg-6  { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
    .py-lg-7  { padding-top: 3rem   !important; padding-bottom: 3rem   !important; }
    .py-lg-8  { padding-top: 4rem   !important; padding-bottom: 4rem   !important; }
    .px-lg-6  { padding-left: 2.5rem !important; padding-right: 2.5rem !important; }
    .mb-lg-6  { margin-bottom: 2.5rem !important; }
    .mb-lg-7  { margin-bottom: 3rem   !important; }
}

/* xl (≥1200px) */
@media (min-width: 1200px) {
    .py-xl-6  { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
    .py-xl-7  { padding-top: 3rem   !important; padding-bottom: 3rem   !important; }
    .py-xl-8  { padding-top: 4rem   !important; padding-bottom: 4rem   !important; }
    .py-xl-9  { padding-top: 5rem   !important; padding-bottom: 5rem   !important; }
    .py-xl-10 { padding-top: 6rem   !important; padding-bottom: 6rem   !important; }
    .mb-xl-6  { margin-bottom: 2.5rem !important; }
    .mb-xl-7  { margin-bottom: 3rem   !important; }
    .mb-xl-8  { margin-bottom: 4rem   !important; }
    .p-xl-6   { padding: 2.5rem !important; }
    .p-xl-7   { padding: 3rem   !important; }
    .p-xl-8   { padding: 4rem   !important; }
    .px-xl-6  { padding-left: 2.5rem !important; padding-right: 2.5rem !important; }
}

/* ── Components ──────────────────────────────────────────── */

.text-white-stable { color: #fff !important; }

.card-lift {
    border-radius: 0.75rem;
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.card-lift:hover,
.card-lift:focus-within {
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05) !important;
    transform: translateY(-0.25rem);
}

.line-pattern { position: relative; }
.line-pattern::after {
    background-image: url(/dist/assets/images/pattern/line-pattern.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    pointer-events: none;
}

/* ── Colours ─────────────────────────────────────────────── */

.text-primary { color: #0678BE !important; }
.bg-primary { background-color: #0678BE !important; }
footer.bg-dark { background-color: var(--drupal-navy) !important; }
.navbar-brand { color: var(--drupal-navy); letter-spacing: -0.5px; }
.navbar-brand:hover { color: #0678BE; }
.text-white-muted { color: rgba(255,255,255,0.87) !important; }
.text-muted { color: #5d636a !important; }
