/**
 * @package     Joomla.Site
 * @subpackage  mod_partners
 */

.mod-partners {
  --mod-partners-orange: #ff7f00;
  --mod-partners-green: #7ab51d;
  --mod-partners-teal: #117c9c;
  --mod-partners-border: #d9dde1;
  --mod-partners-text: #6e777d;
  --mod-partners-heading: #117c9c;
}

.mod-partners__group + .mod-partners__group {
  margin-top: 3rem;
}

.mod-partners__category-title {
  color: var(--mod-partners-heading);
  font-family: "Exo", sans-serif;
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 0.75rem;
}

.mod-partners__category-description {
  color: var(--mod-partners-text);
  margin: 0 0 1.5rem;
  max-width: 52rem;
}

.mod-partners__category-description > *:last-child {
  margin-bottom: 0;
}

.mod-partners__items {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.mod-partners__item {
  align-items: center;
  background: #fff;
  border: 1px solid var(--mod-partners-border);
  border-radius: 0.75rem;
  color: inherit;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(7rem, 10rem) 1fr;
  padding: 1.5rem 1.75rem;
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mod-partners__item:hover,
.mod-partners__item:focus-visible {
  border-color: #c5ccd3;
  box-shadow: 0 0.5rem 1.25rem rgba(17, 124, 156, 0.08);
  color: inherit;
  outline: none;
  text-decoration: none;
}

.mod-partners__item--logo-right {
  grid-template-columns: 1fr minmax(7rem, 10rem);
}

.mod-partners__item--no-logo {
  grid-template-columns: 1fr;
}

.mod-partners__item--logo-right .mod-partners__logo {
  order: 2;
}

.mod-partners__item--logo-right .mod-partners__body {
  order: 1;
}

.mod-partners__logo {
  align-items: center;
  display: flex;
  justify-content: center;
}

.mod-partners__logo img {
  display: block;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  width: 100%;
}

.mod-partners__body {
  min-width: 0;
}

.mod-partners__title {
  font-family: "Exo", sans-serif;
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 0.5rem;
}

.mod-partners__item--accent-orange .mod-partners__title {
  color: var(--mod-partners-orange);
}

.mod-partners__item--accent-green .mod-partners__title {
  color: var(--mod-partners-green);
}

.mod-partners__item--accent-teal .mod-partners__title {
  color: var(--mod-partners-teal);
}

.mod-partners__description {
  color: var(--mod-partners-text);
}

.mod-partners__description > *:first-child {
  margin-top: 0;
}

.mod-partners__description > *:last-child {
  margin-bottom: 0;
}

.mod-partners__description p:first-child strong,
.mod-partners__description > strong:first-child {
  color: #4a5258;
  display: block;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.mod-partners__readmore {
  margin: 1rem 0 0;
}

.mod-partners__readmore-btn {
  background: var(--mod-partners-teal);
  border-radius: 0.35rem;
  color: #fff;
  display: inline-block;
  font-family: "Exo", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.2;
  padding: 0.55rem 1rem;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.mod-partners__item:hover .mod-partners__readmore-btn,
.mod-partners__item:focus-visible .mod-partners__readmore-btn {
  background: #0e6a86;
}

.mod-partners__item--accent-orange .mod-partners__readmore-btn {
  background: var(--mod-partners-orange);
}

.mod-partners__item--accent-orange:hover .mod-partners__readmore-btn,
.mod-partners__item--accent-orange:focus-visible .mod-partners__readmore-btn {
  background: #e67200;
}

.mod-partners__item--accent-green .mod-partners__readmore-btn {
  background: var(--mod-partners-green);
}

.mod-partners__item--accent-green:hover .mod-partners__readmore-btn,
.mod-partners__item--accent-green:focus-visible .mod-partners__readmore-btn {
  background: #689c18;
}

@media (max-width: 767.98px) {
  .mod-partners__item,
  .mod-partners__item--logo-right {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .mod-partners__item--logo-right .mod-partners__logo,
  .mod-partners__item--logo-right .mod-partners__body {
    order: initial;
  }

  .mod-partners__logo {
    justify-content: center;
    margin: 0 auto;
    max-width: 8rem;
  }

  .mod-partners__body {
    text-align: left;
  }
}
