/* Soluciones — service tabs in a white card that overlaps the hero (as on the original page) */
.page-soluciones { --sol-overlap: clamp(2.5rem, 1rem + 4vw, 5rem); }

.sol-hero { padding-bottom: calc(clamp(4rem, 2rem + 8vw, 8.5rem) + var(--sol-overlap)); }
.sol-hero .page-hero__bg { object-position: 70% 40%; }

.sol-services { padding-top: 0; }
.sol-card { position: relative; margin-top: calc(var(--sol-overlap) * -1); }
.sol-card__head { margin-bottom: clamp(1.75rem, 1.2rem + 2vw, 2.75rem); }
.sol-card__icon { display: block; width: 60px; height: 60px; margin: 0 auto 1rem; color: var(--lime); }
.sol-card__icon svg { width: 100%; height: 100%; }

/* Tabs */
.sol-tabs .tabs__tab { display: flex; align-items: center; gap: .75rem; }
.sol-tabs__icon { width: 20px; height: 20px; color: var(--green-ink); transition: color .2s; }
.sol-tabs .tabs__tab[aria-selected="true"] .sol-tabs__icon { color: var(--navy); }
.sol-tabs .tabs__panel { padding: clamp(1.5rem, 1rem + 1.5vw, 2.25rem); border-radius: var(--radius); background: var(--mint); }
.sol-tabs__title { margin-bottom: 1rem; font-size: var(--fs-h4); }
.sol-tabs .tabs__panel > p { margin-bottom: 1.25rem; color: var(--gray-700); }

.sol-card__cta {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .75rem 1.25rem;
  margin-top: clamp(2rem, 1.4rem + 2vw, 3rem); padding-top: clamp(1.5rem, 1.2rem + 1vw, 2rem);
  border-top: 1px solid var(--gray-200); text-align: center;
}
.sol-card__cta p { margin: 0; font-size: var(--fs-lead); color: var(--navy); }

/* Desktop: the open panel is at least as tall as the tab list, so switching tabs does not jump */
@media (min-width: 1025px) {
  .sol-tabs { align-items: stretch; }
}

/* Below 1024px the shared tab buttons wrap into rows and centre their text; centre the icon + label pair too */
@media (max-width: 1024px) {
  .sol-tabs .tabs__tab { justify-content: center; }
}
@media (max-width: 767px) {
  .sol-card { padding: 1.75rem 1rem; }
  .js .sol-tabs .tabs__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sol-tabs .tabs__tab { flex-direction: column; gap: .4rem; padding: .8rem .5rem; font-size: .9375rem; }
  .sol-tabs .tabs__tab:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .sol-tabs .tabs__panel { padding: 1.5rem 1.25rem; }
}
@media (max-width: 340px) {
  .js .sol-tabs .tabs__list { grid-template-columns: minmax(0, 1fr); }
}
