.nv-selector-shell {
  --nv-green: #035904;
  --nv-light-green: #edffee;
  --nv-blue: #0055be;
  --nv-purple: #7000a4;
}

.nv-selector-shell .card {
  display: block;
}

.nv-category-card {
  border: 2px solid #dfe5df;
  border-radius: .75rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.25rem;
  position: relative;
}

.nv-category-card.is-selected {
  border-color: var(--nv-green);
  box-shadow: 0 0 0 3px rgba(3, 89, 4, .12);
}

.nv-category-card[data-category-card="4"].is-selected {
  border-color: var(--nv-purple);
  box-shadow: 0 0 0 3px rgba(112, 0, 164, .12);
}

.nv-category-card.is-recommended {
  border-color: var(--nv-blue);
  box-shadow: 0 .35rem 1rem rgba(0, 85, 190, .12);
}

.nv-category-card.is-recommended.is-selected {
  box-shadow: 0 0 0 3px rgba(0, 85, 190, .15), 0 .35rem 1rem rgba(0, 85, 190, .12);
}

.nv-category-card .nv-category-filter {
  margin-top: auto;
  min-height: 44px;
}

.nv-category-count {
  background: #f4f7f4;
  border-radius: .45rem;
  color: #4c5b51;
  font-size: .82rem;
  padding: .5rem .65rem;
}

.nv-recommended-label {
  background: var(--nv-blue);
  border-radius: 999px;
  box-shadow: 0 0 0 3px #fff, 0 .2rem .45rem rgba(0, 85, 190, .2);
  color: #fff;
  display: inline-block;
  font-size: .78rem;
  font-weight: 700;
  left: 1.25rem;
  line-height: 1;
  padding: .25rem .65rem;
  position: absolute;
  top: -.7rem;
  width: auto;
  z-index: 1;
}

.nv-recommendations {
  background: #f6f8f6;
  border: 1px solid #e0e7e1;
  border-radius: 1rem;
  margin-bottom: 2rem;
  padding: 1.25rem !important;
}

#nvSelector {
  scroll-margin-top: 125px;
}

.nv-number-card {
  --nv-card-accent: var(--nv-green);
  --nv-card-tint: rgba(3, 89, 4, .055);
  background: linear-gradient(145deg, var(--nv-card-tint) 0, #fff 42%);
  border: 1px solid #dfe6e1;
  border-radius: .75rem;
  border-top: 3px solid var(--nv-card-accent);
  box-shadow: 0 .3rem .9rem rgba(24, 45, 31, .08);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: .85rem;
  position: relative;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.nv-number-card-easy {
  --nv-card-accent: var(--nv-blue);
  --nv-card-tint: rgba(0, 85, 190, .055);
}

.nv-number-card-memory {
  --nv-card-accent: var(--nv-purple);
  --nv-card-tint: rgba(112, 0, 164, .055);
}

@media (hover: hover) {
  .nv-number-card:hover {
    border-color: var(--nv-card-accent);
    box-shadow: 0 .55rem 1.2rem rgba(24, 45, 31, .12);
    transform: translateY(-2px);
  }
}

.nv-number-main {
  flex: 1 1 auto;
  padding: .1rem 0 .75rem;
  text-align: center;
}

.nv-number-eyebrow {
  color: #667169;
  display: block;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .14em;
  margin-bottom: .2rem;
  text-transform: uppercase;
}

.nv-number-value {
  font-size: clamp(1.45rem, 2.5vw, 1.8rem);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: .045em;
  line-height: 1.15;
  white-space: nowrap;
}

.nv-number-link {
  align-items: center;
  border-radius: .45rem;
  display: inline-flex;
  justify-content: center;
  min-height: 44px;
  padding: .3rem .4rem;
  text-decoration: none !important;
}

.nv-number-link .nero {
  color: var(--nv-card-accent);
}

.nv-number-link .bianco {
  color: #111;
}

.nv-number-link .nero + .bianco,
.nv-number-link .bianco + .bianco {
  margin-left: .18em;
}

.nv-number-link img {
  flex: 0 0 auto;
  margin-left: .25rem;
}

.nv-number-link:hover {
  background: var(--nv-card-tint);
  text-decoration: none !important;
}

.nv-card-bottom {
  border-top: 1px solid #e3e8e4;
  padding-top: .65rem;
}

.nv-recharge-block {
  align-items: baseline;
  display: flex;
  justify-content: center;
  margin-bottom: 0;
}

.nv-recharge-block > span {
  color: #667169;
  font-size: .74rem;
  margin-right: auto;
}

.nv-recharge-block strong {
  color: #17211a;
  font-size: 1.05rem;
  line-height: 1;
}

.nv-recharge-block small {
  color: #667169;
  font-size: .72rem;
  margin-left: .2rem;
}

.nv-price-memory { color: var(--nv-purple); }

.nv-services-list {
  display: grid;
  gap: .6rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  padding-left: 0;
}

.nv-services-list li {
  background: var(--nv-light-green);
  border-radius: .5rem;
  padding: .75rem;
}

.nv-selector-shell button:focus-visible,
.nv-selector-shell a:focus-visible {
  outline: 3px solid #ef8f00 !important;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .nv-number-card {
    transition: none;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .nv-number-card {
    padding: .85rem;
  }

  .nv-number-value {
    font-size: 1.22rem;
    letter-spacing: .01em;
  }

  .nv-recharge-block {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .nv-recharge-block > span {
    flex-basis: 100%;
    margin-bottom: .35rem;
  }
}

@media (max-width: 767.98px) {
  .nv-services-list {
    grid-template-columns: 1fr;
  }

}
