﻿/* Valores — pacotes de inscrição (compartilhado entre /arsul e /arsul/inscricao) */
.valores {
  position: relative;
  scroll-margin-top: calc(var(--arsul-header-h) + 0.5rem);
  background: var(--arsul-cream);
  color: var(--arsul-ink);
  overflow: hidden;
}

.valores::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(
    ellipse 80% 50% at 50% 0%,
    color-mix(in srgb, var(--arsul-terracotta) 6%, transparent),
    transparent 70%
  );
  pointer-events: none;
}

.valores__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  max-width: 90rem;
  margin: 0 auto;
  padding: clamp(1.75rem, 4vw, 2.5rem) clamp(1.25rem, 4vw, 3rem) clamp(2rem, 4vw, 2.75rem);
}

.valores__header {
  max-width: 40rem;
  margin: 0 auto clamp(1.25rem, 3vw, 1.75rem);
  text-align: center;
}

.valores__title {
  margin: 0;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--arsul-ink);
}

.valores__intro {
  margin: 0.85rem 0 0;
  font-size: clamp(0.9375rem, 1.4vw, 1.0625rem);
  line-height: 1.6;
  color: color-mix(in srgb, var(--arsul-ink) 72%, transparent);
}

.valores__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2.5vw, 1.5rem);
  max-width: 72rem;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

@media (min-width: 768px) {
  .valores__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }
}

@media (min-width: 1100px) {
  .valores__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 90rem;
  }
}

.valores__item {
  margin: 0;
  padding: 0;
  min-width: 0;
}

.valores__card {
  --valores-tier: var(--arsul-terracotta);
  --valores-photo-position: center 42%;
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid color-mix(in srgb, var(--arsul-ink) 14%, transparent);
  border-radius: 0.9375rem;
  overflow: hidden;
  background: color-mix(in srgb, var(--arsul-cream) 55%, #fff);
  box-shadow: 0 14px 36px color-mix(in srgb, var(--arsul-ink) 14%, transparent);
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.valores__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 42px color-mix(in srgb, var(--arsul-ink) 18%, transparent);
}

.valores__card:focus-visible {
  outline: 2px solid var(--arsul-prog-gold);
  outline-offset: 3px;
}

.valores__card--tangua {
  --valores-tier: #a04d35;
  --valores-photo-position: center 38%;
}

.valores__card--jardim {
  --valores-tier: #5a5d58;
  --valores-photo-position: center 32%;
}

.valores__card--passeio {
  --valores-tier: #243d32;
  --valores-photo-position: center 45%;
}

.valores__card--barigui {
  --valores-tier: #b8921f;
  --valores-photo-position: center 40%;
}

.valores__card-top {
  position: relative;
  flex-shrink: 0;
  isolation: isolate;
}

.valores__card-top::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  height: 3px;
  background: var(--valores-tier);
  pointer-events: none;
}

.valores__card-media {
  margin: 0;
  aspect-ratio: 5 / 4;
  overflow: hidden;
  background: color-mix(in srgb, var(--arsul-ink) 8%, var(--arsul-cream));
}

.valores__card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--valores-photo-position);
}

.valores__card-head {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  box-sizing: border-box;
  padding: clamp(2.25rem, 5vw, 2.75rem) 0.85rem clamp(0.75rem, 2vw, 0.95rem);
  text-align: center;
  color: #fff;
  background: linear-gradient(
    180deg,
    rgb(0 0 0 / 0) 0%,
    color-mix(in srgb, var(--valores-tier) 35%, rgb(0 0 0 / 0.45)) 38%,
    color-mix(in srgb, var(--valores-tier) 88%, rgb(0 0 0 / 0.35)) 72%,
    var(--valores-tier) 100%
  );
}

.valores__name {
  margin: 0;
  max-width: 16rem;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: clamp(1.0625rem, 1.85vw, 1.3125rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-shadow: 0 1px 12px rgb(0 0 0 / 0.35);
}

.valores__name--stacked {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  line-height: 1.08;
}

.valores__name-line {
  display: block;
}

.valores__card-body {
  flex: 1 1 auto;
  min-height: 0;
  background: color-mix(in srgb, var(--arsul-cream) 40%, #fff);
}

.valores__benefits {
  margin: 0;
  padding: 0;
  list-style: none;
}

.valores__benefit {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: clamp(0.75rem, 1.8vw, 0.95rem) clamp(0.85rem, 2vw, 1.1rem);
  border-bottom: 1px dotted color-mix(in srgb, var(--arsul-ink) 28%, transparent);
}

.valores__benefit:last-child {
  border-bottom: none;
}

.valores__benefit-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.35rem;
  height: 1.35rem;
  margin-top: 0.1rem;
  color: color-mix(in srgb, var(--arsul-ink) 75%, transparent);
}

.valores__benefit-icon svg {
  width: 100%;
  height: 100%;
}

.valores__benefit-text {
  font-size: clamp(0.75rem, 1.2vw, 0.8125rem);
  font-weight: 500;
  line-height: 1.45;
  color: color-mix(in srgb, var(--arsul-ink) 88%, transparent);
}

.valores__benefit-text em {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-weight: 500;
}

.valores__card-foot {
  padding: clamp(0.85rem, 2vw, 1.1rem) 1rem;
  text-align: center;
  color: #fff;
  background: var(--valores-tier);
}

.valores__foot-label {
  margin: 0 0 0.25rem;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in srgb, #fff 88%, transparent);
}

.valores__foot-price {
  margin: 0;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: clamp(1.125rem, 2.2vw, 1.375rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.valores__foot-detail {
  margin: 0.35rem 0 0;
  font-size: 0.6875rem;
  line-height: 1.35;
  color: color-mix(in srgb, #fff 82%, transparent);
}
