/* ICS reusable components
   Use these classes across pages to keep the design consistent. */

.ics-card {
  background: #fff;
  border: 1px solid var(--ics-border);
  border-radius: var(--ics-radius-md);
  box-shadow: var(--ics-shadow-soft);
  padding: 1.75rem;
}

.ics-card-flat {
  background: #fff;
  border: 1px solid var(--ics-border);
  border-radius: var(--ics-radius-md);
  padding: 1.75rem;
}

.ics-pill {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  border-radius: 999px;
  padding: .38rem .85rem;
  background: rgba(78, 171, 86, .12);
  color: var(--ics-green-dark);
  font-size: .85rem;
  font-weight: 700;
  line-height: 1;
}

.ics-pill-muted {
  background: rgba(111, 170, 182, .14);
  color: var(--ics-navy-2);
}

.ics-button,
a.ics-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  border: 0;
  border-radius: 999px;
  padding: .8rem 1.25rem;
  background: var(--ics-green);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  line-height: 1;
}

.ics-button:hover,
a.ics-button:hover {
  background: var(--ics-green-dark);
  color: #fff;
}

.ics-button-secondary,
a.ics-button-secondary {
  background: var(--ics-blue);
}

.ics-button-outline,
a.ics-button-outline {
  background: transparent;
  border: 1px solid rgba(6, 27, 44, .18);
  color: var(--ics-navy);
}

.ics-button-outline:hover,
a.ics-button-outline:hover {
  background: var(--ics-navy);
  color: #fff;
}

.ics-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

@media (max-width: 991.98px) {
  .ics-grid-3 {
    grid-template-columns: 1fr;
  }
}
/* Softer site-wide nav and button font weights */
.site-header .navbar .nav-link {
  font-weight: 500 !important;
}

.site-header .nav-cta,
.btn-ics-primary,
.btn-ics-secondary,
.shop-card-link,
.shop-email-link,
.shop-btn-primary,
.shop-btn-secondary,
.contact-card .contact-link,
.home-contact-link,
.listing-profile-btn,
.btn-call,
.btn-email {
  font-weight: 600 !important;
}
