/**
 * ITSOS — Tabs (componente globale riutilizzabile)
 * Markup: .itsos-tabs > .itsos-tabs__list + .itsos-tabs__panels > .itsos-tabs__panel
 */

.itsos-tabs {
  --itsos-tabs-accent: #ff9517;
  --itsos-tabs-border: #000;
  --itsos-tabs-radius: 5px;
  margin: 2rem 0 2.5rem;
}

.itsos-tabs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.itsos-tabs__tab {
  appearance: none;
  box-sizing: border-box;
  margin: 0 0 -1px;
  padding: 12px 18px;
  border: 1px solid var(--itsos-tabs-border);
  border-bottom: 0;
  border-radius: 0;
  background: #fff;
  color: #000;
  font-family: var(--itsos-font-stack, "Outfit", sans-serif);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.25;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.itsos-tabs__tab + .itsos-tabs__tab {
  margin-left: -1px;
}

.itsos-tabs__tab:hover,
.itsos-tabs__tab:focus-visible {
  background: var(--itsos-tabs-accent);
  border-color: var(--itsos-tabs-accent);
  color: #fff;
  outline: none;
  z-index: 2;
  position: relative;
}

.itsos-tabs__tab.is-active,
.itsos-tabs__tab[aria-selected="true"] {
  background: #000;
  border-color: #000;
  color: #fff;
  z-index: 3;
  position: relative;
}

.itsos-tabs__panels {
  border: 1px solid var(--itsos-tabs-border);
  border-radius: 0 0 var(--itsos-tabs-radius) var(--itsos-tabs-radius);
  background: #fff;
}

.itsos-tabs__panel {
  display: none;
  padding: 24px 26px 28px;
  color: #000;
  font-family: var(--itsos-font-stack, "Outfit", sans-serif);
  font-size: 17px;
  font-weight: 300;
  line-height: 1.55;
}

.itsos-tabs__panel.is-active,
.itsos-tabs__panel[aria-hidden="false"] {
  display: block;
}

.itsos-tabs__panel > :first-child {
  margin-top: 0;
}

.itsos-tabs__panel > :last-child {
  margin-bottom: 0;
}

.itsos-tabs__panel h3,
.itsos-tabs__panel h4 {
  margin: 0 0 0.75rem;
  font-weight: 500;
}

.itsos-tabs__panel ul {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
}

.itsos-tabs__panel li + li {
  margin-top: 0.35rem;
}

@media (max-width: 768px) {
  .itsos-tabs__list {
    flex-direction: column;
    align-items: stretch;
  }

  .itsos-tabs__tab {
    width: 100%;
    margin: 0 0 -1px;
    border-bottom: 1px solid var(--itsos-tabs-border);
  }

  .itsos-tabs__tab + .itsos-tabs__tab {
    margin-left: 0;
  }

  .itsos-tabs__tab.is-active,
  .itsos-tabs__tab[aria-selected="true"] {
    border-bottom-color: #000;
  }

  .itsos-tabs__panels {
    border-radius: 0 0 var(--itsos-tabs-radius) var(--itsos-tabs-radius);
  }
}
