/* =========================================================
   GO SAMOS – UTILITY GRID
   Desktop: 4 columns
   Tablet:  2 columns
   Mobile:  2 columns
   ========================================================= */

.gosamos-utility-grid {
  row-gap: 16px;
  padding-bottom: 16px;
}

/* Tablet + Mobile: 2 cards per row */
@media (max-width: 991.98px) {
  .gosamos-utility-grid > [class*="col-"] {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
  }
}


/* =========================================================
   GO SAMOS – UTILITY CARDS
   ========================================================= */

.gosamos-utility-card {
  height: 100%;
}

/* Reset Drupal / CKEditor spacing */
.gosamos-utility-card .content,
.gosamos-utility-card .field--name-body,
.gosamos-utility-card .field__item,
.gosamos-utility-card h5,
.gosamos-utility-card p {
  margin: 0;
  padding: 0;
}

/* Neutralize accidental CODE formatting from CKEditor */
.gosamos-utility-card code {
  padding: 0 !important;
  margin: 0 !important;

  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;

  background: transparent !important;
  border: 0 !important;
}


/* ---------------------------------------------------------
   CARD
   --------------------------------------------------------- */

.gosamos-utility-card .field--name-body {
  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 115px;
  height: 100%;
  padding: 18px 14px;

  text-align: center;

  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.10);
  border-radius: 14px;

  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05);

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}


/* Inner content */
.gosamos-utility-card .field__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 100%;
}


/* ---------------------------------------------------------
   ICON
   --------------------------------------------------------- */

.gosamos-utility-card .field__item > p:first-child {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 44px;
  height: 44px;

  margin: 0 0 8px;
  padding: 0;

  font-size: 34px !important;
  line-height: 1;

  font-family:
    "Apple Color Emoji",
    "Segoe UI Emoji",
    "Noto Color Emoji",
    sans-serif;
}


/* ---------------------------------------------------------
   TITLE
   --------------------------------------------------------- */

.gosamos-utility-card h5 {
  margin: 0 !important;
  padding: 0 !important;

  font-family: inherit !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;

  color: #3f3f3f !important;
  text-align: center;
}


/* Remove formatting differences from STRONG */
.gosamos-utility-card h5 strong {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
}


/* Link – same appearance in every state */
.gosamos-utility-card h5 a,
.gosamos-utility-card h5 a:link,
.gosamos-utility-card h5 a:visited,
.gosamos-utility-card h5 a:hover,
.gosamos-utility-card h5 a:focus,
.gosamos-utility-card h5 a:active {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;

  color: #3f3f3f !important;
  text-decoration: none !important;
}


/* ---------------------------------------------------------
   HOVER
   --------------------------------------------------------- */

.gosamos-utility-card .field--name-body:hover {
  transform: translateY(-3px);

  border-color: rgba(0, 0, 0, 0.16);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.10);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 575.98px) {

  .gosamos-utility-card .field--name-body {
    min-height: 110px;
    padding: 15px 10px;
  }

  .gosamos-utility-card .field__item > p:first-child {
    width: 38px;
    height: 38px;

    margin-bottom: 7px;

    font-size: 30px !important;
  }

  .gosamos-utility-card h5 {
    font-size: 16px !important;
  }
}