.op-footer {
  background: var(--op-footer);
  color: var(--op-footer-text);
  font-size: .92rem;
}

.op-footer__grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1.3fr;
  gap: 40px;
  padding: 72px 24px 56px;
}

.op-footer__brand {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 1em;
}
.op-footer__brand img,
.op-footer__brand svg {
  height: 40px;
  width: auto;
}
.op-footer__brand-name {
  font-family: var(--op-font-display);
  font-weight: 600;
  color: var(--op-brand);
  font-size: 1.15rem;
}

.op-footer__desc {
  color: var(--op-footer-text-soft);
  font-size: .9rem;
}

.op-footer__heading {
  font-family: var(--op-font-display);
  font-weight: 600;
  color: #fff;
  font-size: 1.02rem;
  margin-bottom: 1em;
}

/* Slots de menú: estilitza qualsevol llista que Drupal hi renderitzi */
.op-footer__menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.op-footer__menu li { margin-bottom: .6em; }
.op-footer__menu a {
  color: var(--op-footer-text);
  text-decoration: none;
}
.op-footer__menu a:hover {
  color: var(--op-brand);
  text-decoration: underline;
}

.op-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.op-footer__list li { margin-bottom: .6em; }
.op-footer__list a {
  color: var(--op-footer-text);
  text-decoration: none;
}
.op-footer__list a:hover {
  color: var(--op-brand);
  text-decoration: underline;
}

.op-footer__contact {
  list-style: none;
  margin: 0;
  padding: 0;
}
.op-footer__contact li {
  display: flex;
  gap: 10px;
  margin-bottom: .8em;
  color: var(--op-footer-text-soft);
}
.op-footer__contact svg {
  width: 18px;
  height: 18px;
  color: var(--op-brand);
  flex: none;
  margin-top: 3px;
}

.op-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, .1);
  padding-top: 20px;
  padding-bottom: 20px;
  display: flex;
  justify-content: space-between;
  gap: 1em;
  flex-wrap: wrap;
  font-size: .8rem;
  color: var(--op-footer-text-faint);
}

@media (max-width: 960px) {
  .op-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .op-footer__grid { grid-template-columns: 1fr; padding-top: 56px; }
}
