/* ==== AllVeil Brand Tokens ==== */
:root{
  /* Palette */
  --av-blue:    #436B95;  /* primary */
  --av-ivory:   #FFFCF7;  /* soft background */
  --av-ice:     #B6CCD7;  /* accent */
  --av-mist:    #F0EFE9;  /* light ui */
  --av-navy:    #050A30;  /* dark text/cta */

  /* Typography */
  --av-font-display: "Alice", serif;
  --av-font-sans:    "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;

  /* Bootstrap 5 CSS variables overrides */
  --bs-body-font-family: var(--av-font-sans);
  --bs-body-color: #1c2533;
  --bs-body-bg: var(--av-ivory);

  --bs-primary: var(--av-blue);
  --bs-primary-rgb: 67,107,149;
  --bs-dark: var(--av-navy);

  --bs-link-color: var(--av-blue);
  --bs-link-hover-color: #355679;

  --bs-border-color: #dfe6ea;
}

/* Headings & brand title */
h1,h2,h3,h4,h5,h6 { font-family: var(--av-font-display); letter-spacing:.2px; }

/* Buttons */
.btn-primary{
  --bs-btn-bg: var(--av-blue);
  --bs-btn-border-color: var(--av-blue);
  --bs-btn-hover-bg: #3a6086;
  --bs-btn-hover-border-color: #3a6086;
  --bs-btn-active-bg: #325779;
  --bs-btn-active-border-color: #325779;
}
.btn-dark{
  --bs-btn-bg: var(--av-navy);
  --bs-btn-border-color: var(--av-navy);
  --bs-btn-hover-bg: #030720;
  --bs-btn-hover-border-color: #030720;
}

/* Cards, sections */
.card{
  border: 1px solid var(--bs-border-color);
  background: #ffffff;
  border-radius: .8rem;
}
.section-soft{
  background: var(--av-mist);
  border-radius: 1rem;
}

/* Utilities */
.bg-ivory{ background: var(--av-ivory)!important; }
.bg-ice{ background: var(--av-ice)!important; }
.bg-mist{ background: var(--av-mist)!important; }
.text-navy{ color: var(--av-navy)!important; }
.text-blue{ color: var(--av-blue)!important; }

/* Navbar (optional) */
.navbar-allveil{
  background: #ffffff;
  border-bottom: 1px solid var(--bs-border-color);
}
.navbar-allveil .nav-link{ font-weight:600; }
.navbar-allveil .nav-link.active{ color: var(--av-blue); }

/* Keep the brand logo's aspect ratio no matter what other img rules do */
.brand-logo{
  height: 48px;           /* adjust as you like */
  width: auto !important; /* override any global width:100% */
  max-width: none;        /* prevents Bootstraps img-fluid/max-width from shrinking oddly */
  display: block;
}
.brandmark{
  line-height: 1.1;       /* keeps tagline tight to the logo */
}

/* Header brand block */
.brand-header{
  display: flex;
  flex-direction: column;
  align-items: flex-start;   /* don't stretch to container width */
}

/* Lock logo aspect ratio + prevent any global img rules from stretching it */
.brand-logo{
  width: auto !important;
  height: 48px;              /* adjust to taste */
  max-width: none !important;
  flex: 0 0 auto;            /* never stretch in flex */
  object-fit: contain;
}
.brand-tagline{
  line-height: 1.2;
  font-family: "Montserrat", sans-serif;
  color: #6c757d;            /* muted */
}
/* Global background matches vendor pages */
body {
    background-color: var(--av-ivory);
}