/* Clariia Free Utilities - Specific Branding
   Strict CSP Compliant: No inline styles allowed.
*/

:root {
    --clariia-util-primary: #1a1a1a; /* Deep Brand Charcoal */
    --clariia-util-accent: #c5a059;  /* Brand Gold/Tan */
}

/* Brand Button Overrides */
.btn-utility-primary {
    background-color: var(--clariia-util-primary) !important;
    border-color: var(--clariia-util-primary) !important;
    color: #ffffff !important;
    transition: all 0.3s ease;
}

.btn-utility-primary:hover {
    background-color: #333333 !important;
    border-color: #333333 !important;
}

.text-utility-accent {
    color: var(--clariia-util-accent) !important;
}

/* High-Contrast Result Card */
.utility-result-card {
    border: 2px solid var(--clariia-util-accent) !important;
    background-color: #ffffff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

/* The Bridge CTA Styling */
.utility-bridge-card {
    background-color: #fafafa;
    border: 1px dashed var(--clariia-util-accent);
    border-radius: 8px;
}

/* ==========================================================================
   UTILITIES PAGES: CANCEL PIXEL MOBILE NAVBAR STACKING
   ========================================================================== */
@media (max-width: 991.98px) {
  body.utilities-page nav.navbar .container,
  body.utilities-page nav.navbar.navbar-expand .container,
  body.utilities-page .navbar.navbar-expand .container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: auto !important;
    padding-bottom: 0 !important;
  }

  body.utilities-page nav.navbar .navbar-brand,
  body.utilities-page nav.navbar.navbar-expand .navbar-brand,
  body.utilities-page .navbar.navbar-expand .navbar-brand {
    width: auto !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    flex: 0 1 auto !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  body.utilities-page nav.navbar .btn,
  body.utilities-page nav.navbar .nav-link.btn,
  body.utilities-page nav.navbar .invisible {
    flex: 0 0 auto !important;
  }

  body.utilities-page nav.navbar #mainNav,
  body.utilities-page nav.navbar #mainNav.navbar-collapse,
  body.utilities-page nav.navbar.navbar-expand #mainNav,
  body.utilities-page .navbar.navbar-expand #mainNav,
  body.utilities-page .navbar.navbar-expand .navbar-collapse {
    display: none !important;
    width: auto !important;
    flex-basis: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

.utility-muted {
  color: #6c757d !important;
}

.icon-gold {
  color: #b08a48 !important;
}

.utility-active-link {
  border-left: 4px solid #b08a48 !important;
}

.offcanvas.offcanvas-start {
  width: min(320px, calc(100vw - 24px)) !important;
}

body.utilities-page .offcanvas-header,
body.utilities-page .offcanvas-body,
body.utilities-page .offcanvas .list-group-item {
  background-color: #ffffff !important;
  color: #000000 !important;
}

body.utilities-page .offcanvas .list-group-item i {
  color: #b08a48 !important;
}

/* ==========================================================================
   OFFCANVAS POLYFILL (Fixes Pixel Theme Missing Bootstrap Classes)
   ========================================================================== */
.offcanvas {
    position: fixed;
    bottom: 0;
    z-index: 1045;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    visibility: hidden;
    background-color: #fff;
    background-clip: padding-box;
    outline: 0;
    transition: transform 0.3s ease-in-out;
}
.offcanvas-start {
    top: 0;
    left: 0;
    border-right: 1px solid rgba(0, 0, 0, 0.175);
    transform: translateX(-100%);
}
.offcanvas.show {
    transform: none;
    visibility: visible;
}
.offcanvas-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
    background-color: #000;
}
.offcanvas-backdrop.fade { opacity: 0; }
.offcanvas-backdrop.show { opacity: 0.5; }
.offcanvas-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1rem;
}
.offcanvas-title {
    margin-bottom: 0;
    line-height: 1.5;
}
.offcanvas-body {
    flex-grow: 1;
    padding: 1rem 1rem;
    overflow-y: auto;
}