/* ==============================
   PRICING ABONAMENTE - WOW UI
   ============================== */
.pricing-abonamente-section {
  position: relative;
  max-width: 1200px;
  margin: 80px auto 30px;
  padding: 0 20px;
  isolation: isolate;
}
.pricing-abonamente-section::before {
  content: "";
  position: absolute;
  inset: -70px 0 auto 0;
  height: 420px;
  background:
    radial-gradient(circle at 20% 20%, rgba(56, 189, 248, .18), transparent 34%),
    radial-gradient(circle at 80% 30%, rgba(168, 85, 247, .18), transparent 34%),
    radial-gradient(circle at 50% 75%, rgba(34, 197, 94, .10), transparent 38%);
  filter: blur(16px);
  opacity: .9;
  z-index: -2;
  pointer-events: none;
}
.pricing-abonamente-section::after {
  content: "";
  position: absolute;
  inset: -20px 20px auto 20px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(34, 211, 238, .7), rgba(168, 85, 247, .7), transparent);
  opacity: .7;
}
.pricing-header-wow {
  text-align: center;
  margin-bottom: 34px;
}
.pricing-kicker-wow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 15px;
  border-radius: 999px;
  color: #22d3ee;
  background: rgba(34, 211, 238, .07);
  border: 1px solid rgba(34, 211, 238, .24);
  box-shadow: 0 0 28px rgba(34, 211, 238, .16), inset 0 1px 0 rgba(255,255,255,.08);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.pricing-title-wow {
  margin: 18px 0 10px;
  font-size: clamp(2.2rem, 5vw, 4.5rem);
  line-height: .95;
  font-weight: 900;
  letter-spacing: -0.055em;
  color: #fff;
  text-shadow: 0 0 30px rgba(59, 130, 246, .18);
}
.pricing-title-wow span {
  background: linear-gradient(90deg, #38bdf8 0%, #8b5cf6 42%, #f472b6 78%, #22c55e 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 24px rgba(139, 92, 246, .25));
}
.pricing-subtitle-wow {
  max-width: 680px;
  margin: 0 auto;
  color: rgba(226, 232, 240, .68);
  font-size: 1rem;
  line-height: 1.7;
}
.pricing-alert-wow {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  max-width: 980px;
  margin: 28px auto 30px;
  padding: 14px 18px;
  border-radius: 18px;
  color: rgba(255,255,255,.92);
  background: linear-gradient(90deg, rgba(6, 182, 212, .13), rgba(139, 92, 246, .10), rgba(34,197,94,.10));
  border: 1px solid rgba(34, 211, 238, .30);
  box-shadow: 0 20px 60px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.08);
}
.pricing-alert-wow::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.11) 45%, transparent 58%);
  transform: translateX(-120%);
  animation: pricingShine 5s ease-in-out infinite;
}
.pricing-alert-wow i { color: #22d3ee; font-size: 1.15rem; }
.pricing-alert-wow strong { color: #fff; }
.pricing-plans-grid-wow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}
.pricing-plan-card-wow {
  --plan-a: #3b82f6;
  --plan-b: #8b5cf6;
  position: relative;
  overflow: hidden;
  min-height: 520px;
  padding: 28px;
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--plan-a) 22%, transparent), transparent 42%),
    rgba(7, 12, 26, .84);
  border: 1px solid rgba(148, 163, 184, .18);
  box-shadow: 0 26px 70px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
  transform: translateZ(0);
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.pricing-plan-card-wow::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--plan-a) 92%, white 6%), transparent 32%, color-mix(in srgb, var(--plan-b) 90%, white 8%));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: .38;
  pointer-events: none;
}
.pricing-plan-card-wow::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  right: -110px;
  top: -100px;
  background: radial-gradient(circle, color-mix(in srgb, var(--plan-b) 38%, transparent), transparent 67%);
  filter: blur(2px);
  opacity: .9;
  animation: planGlowFloat 7s ease-in-out infinite;
  pointer-events: none;
}
.pricing-plan-card-wow:hover {
  transform: translateY(-8px);
  border-color: color-mix(in srgb, var(--plan-a) 62%, white 10%);
  box-shadow: 0 34px 90px rgba(0,0,0,.50), 0 0 42px color-mix(in srgb, var(--plan-a) 28%, transparent), inset 0 1px 0 rgba(255,255,255,.12);
}
.plan-card-inner-wow { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; }
.plan-top-row-wow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 24px;
}
.plan-icon-wow {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #fff;
  font-size: 1.35rem;
  background: linear-gradient(135deg, var(--plan-a), var(--plan-b));
  box-shadow: 0 0 0 1px rgba(255,255,255,.15) inset, 0 14px 34px color-mix(in srgb, var(--plan-a) 28%, transparent);
  animation: iconPulseWow 4s ease-in-out infinite;
}
.plan-tag-wow {
  padding: 7px 11px;
  border-radius: 999px;
  color: rgba(255,255,255,.88);
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.13);
}
.plan-tag-hot-wow {
  color: #08111f;
  background: linear-gradient(90deg, #22c55e, #a3e635);
  border-color: rgba(255,255,255,.5);
  box-shadow: 0 0 25px rgba(132, 204, 22, .35);
  animation: badgeBreathWow 2.8s ease-in-out infinite;
}
.plan-name-wow {
  font-size: 1.6rem;
  margin: 0 0 10px;
  color: #fff;
  letter-spacing: -0.04em;
}
.plan-desc-wow {
  color: rgba(226,232,240,.62);
  min-height: 48px;
  line-height: 1.55;
  margin: 0 0 22px;
}
.plan-price-row-wow {
  display: flex;
  align-items: end;
  gap: 8px;
  margin-bottom: 24px;
}
.plan-price-wow {
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  line-height: .9;
  font-weight: 900;
  letter-spacing: -0.07em;
  color: #fff;
  text-shadow: 0 0 24px color-mix(in srgb, var(--plan-a) 35%, transparent);
}
.plan-price-wow span {
  background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--plan-a) 68%, #fff 32%));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.plan-price-note-wow {
  margin-bottom: 4px;
  color: rgba(226,232,240,.52);
  font-weight: 700;
  font-size: .85rem;
}
.plan-features-wow {
  list-style: none;
  display: grid;
  gap: 13px;
  margin: 0 0 28px;
  padding: 22px 0 0;
  border-top: 1px solid rgba(148,163,184,.13);
}
.plan-features-wow li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: rgba(241,245,249,.82);
  font-size: .94rem;
  line-height: 1.45;
}
.plan-features-wow i {
  color: #22c55e;
  filter: drop-shadow(0 0 10px rgba(34,197,94,.45));
  margin-top: 2px;
}
.plan-button-wow {
  margin-top: auto;
  position: relative;
  overflow: hidden;
  min-height: 52px;
  width: 100%;
  border-radius: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #fff;
  font-weight: 900;
  letter-spacing: -.02em;
  background: linear-gradient(135deg, var(--plan-a), var(--plan-b));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 16px 38px color-mix(in srgb, var(--plan-a) 30%, transparent), inset 0 1px 0 rgba(255,255,255,.22);
  transition: transform .25s ease, filter .25s ease, box-shadow .25s ease;
}
.plan-button-wow::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.35) 45%, transparent 55%);
  transform: translateX(-120%);
  transition: transform .65s ease;
}
.plan-button-wow:hover { transform: translateY(-2px); filter: brightness(1.08); }
.plan-button-wow:hover::before { transform: translateX(120%); }
.pricing-plan-card-wow.plan-basic { --plan-a: #38bdf8; --plan-b: #8b5cf6; }
.pricing-plan-card-wow.plan-popular { --plan-a: #f97316; --plan-b: #d946ef; transform: translateY(-12px); }
.pricing-plan-card-wow.plan-popular:hover { transform: translateY(-20px); }
.pricing-plan-card-wow.plan-ultimate { --plan-a: #22c55e; --plan-b: #06b6d4; }
@keyframes pricingShine { 0%, 55% { transform: translateX(-120%); } 100% { transform: translateX(120%); } }
@keyframes planGlowFloat { 0%, 100% { transform: translate(0,0) scale(1); } 50% { transform: translate(-12px, 18px) scale(1.08); } }
@keyframes iconPulseWow { 0%,100% { transform: scale(1); } 50% { transform: scale(1.06); } }
@keyframes badgeBreathWow { 0%,100% { transform: scale(1); box-shadow: 0 0 22px rgba(132,204,22,.32); } 50% { transform: scale(1.04); box-shadow: 0 0 38px rgba(132,204,22,.55); } }
@media (max-width: 980px) {
  .pricing-plans-grid-wow { grid-template-columns: 1fr; }
  .pricing-plan-card-wow,
  .pricing-plan-card-wow.plan-popular { transform: none; min-height: auto; }
  .pricing-plan-card-wow.plan-popular:hover { transform: translateY(-6px); }
}
@media (max-width: 560px) {
  .pricing-abonamente-section { margin-top: 56px; padding: 0 14px; }
  .pricing-alert-wow { align-items: flex-start; text-align: left; }
  .pricing-plan-card-wow { padding: 22px; border-radius: 22px; }
  .plan-name-wow { font-size: 1.35rem; }
  .plan-price-wow { font-size: 2.5rem; }
}
