/* ============================== *
* FONT FAMILY CHANGES
* ============================== */
@font-face {
  font-family: PerpetuaBQ-Roman;
  src: url(/files/assets/PerpetuaBQ-Roman.ttf);
}
@font-face {
  font-family: Chivo-VariableFont_wght;
  src: url(/files/assets/Chivo-VariableFont_wght.ttf);
}

body {
  font-family: Chivo-VariableFont_wght;
}

h1, h2, h3, h4, h5, h6 {
  font-family: PerpetuaBQ-Roman;
}

/* ============================== *
* FONT COLOR CHANGES
* ============================== */
h1, h2, h3, h4, h5, h6 {
  color: #015379 !important;
}

/* Keep all header links the same color */
header.header--site a,
header.header--site a:link,
header.header--site a:visited,
header.header--site a:hover,
header.header--site a:active,
header.header--site a:focus {
  color: #015379 !important;
}

/* User navigation links */
.header--site .nav--user a,
.header--site .nav--user a:link,
.header--site .nav--user a:visited,
.header--site .nav--user a:hover,
.header--site .nav--user a:active,
.header--site .nav--user a:focus {
  color: #015379 !important;
}

/* Logout element (no href, so force base state) */
.header--site .nav--user a.btnLogout,
.header--site .nav--user a.btnLogout:hover,
.header--site .nav--user a.btnLogout:active,
.header--site .nav--user a.btnLogout:focus {
  color: #015379 !important;
}

/* Font Awesome icons in user nav */
.header--site .nav--user i,
.header--site .nav--user a i,
.header--site .nav--user a.btnLogout i {
  color: #015379 !important;
}

/* Catch any theme overrides inside user nav */
.header--site .nav--user li,
.header--site .nav--user li * {
  color: #015379 !important;
}

/* ============================== *
* ADDITIONAL CHANGES
* ============================== */
.slider {
  margin-top: 0;
}

.slide img {
  border: none;
  box-shadow: none;
}

.homepage__callouts .callout {
  box-shadow: none;
}

@media screen and (min-width: 1440px) {
  .banner {
    width: 100%;
  }
}

.homepage__callouts h2 {
  font-weight: narrow;
  color: #1F1B19;
  font-size: 32px;
}

a.button, button.button, input[type=submit].button {
  color: black;
}

.footer-wrapper {
  background: #fafafa;
  color: #fafafa;
}

footer.footer--site a:link,
footer.footer--site a:visited,
footer.footer--site a:active {
  color: #4A4A4A;
}

footer.footer--site .copyright p {
  color: #4A4A4A;
}

/* Quick fix for that extra space between Callouts - GF-081023 */
.homepage__callouts .callout {
  margin-bottom: -6px;
}

.dropzone { 
  display: block !important;
}

/* Digital Products - Product Not Available for Ordering */
.product__ordering h3 {
  display: none;
}

/* Slider Adjustment */
.slide.style-c .slide__image {
  width: 99%;
}

.product-landing .product__images ul {
  grid-template: auto / repeat(2, 1fr);
}

.homepage__callouts .callouts {
  grid-template: auto / repeat(2, 2fr);
}

.product-landing .product__images ul {
  grid-template: auto / repeat(2, 1fr);
}

/* ============================== *
* PRODUCT GRID ALIGNMENT FIX
* ============================== */

/* Two-line title clamp to prevent staggered cards */
.product-listing .product__title,
.product-grid .product__title,
.products .product__title,
.product-card .product__title,
.product-listing h3,
.product-grid h3 {
  line-height: 1.4em;
  height: 2.8em; /* 2 lines */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* Ensure links inside titles respect the clamp */
.product-listing .product__title a,
.product-grid .product__title a,
.products .product__title a,
.product-card .product__title a {
  display: inline-block;
  max-height: 2.8em;
  overflow: hidden;
}

/* ============================== *
* MICRO POLISH: Normalize spacing under titles
* ============================== */

.product__title,
.product-grid h3,
.product-listing h3 {
  margin-bottom: 0.4em;
}

/* Optional safety: keep buttons aligned if cards use flex */
.product-listing .product,
.product-grid .product,
.products .product,
.product-card {
  display: flex;
  flex-direction: column;
}

.product-listing .product .button,
.product-grid .product .button,
.products .product .button,
.product-card .button {
  margin-top: auto;
}