/* Páginas de producto con identidad propia */

.product-page {
  --product-ink: var(--ink);
  --product-muted: var(--muted);
  --product-accent: var(--blue);
  --product-accent-soft: var(--cyan);
  --product-hero-bg: var(--navy);
  --product-hero-gradient: linear-gradient(135deg, #05223f 0%, #0d559d 100%);
  --product-surface: var(--mist);
  --product-cta: var(--blue);
  --product-cta-hover: var(--deep);
  --product-display-font: "Manrope", system-ui, sans-serif;
}

.product-page--cifre {
  --product-ink: #0d1545;
  --product-muted: #5b6478;
  --product-accent: #3b82f6;
  --product-accent-soft: #93c5fd;
  --product-hero-bg: #0d1545;
  --product-hero-gradient:
    radial-gradient(circle at 82% 18%, rgba(147, 197, 253, .22), transparent 28%),
    linear-gradient(135deg, #0d1545 0%, #1a2b7a 52%, #0d1545 100%);
  --product-surface: #f3f6fc;
  --product-cta: #ffffff;
  --product-cta-hover: #e8f1ff;
  --product-cta-text: #0d1545;
}

.product-page--plibus {
  --product-ink: #1a1a2e;
  --product-muted: #716b7d;
  --product-accent: #582e90;
  --product-accent-soft: #cbb6e8;
  --product-hero-bg: #3d1f6d;
  --product-hero-gradient:
    radial-gradient(circle at 80% 20%, rgba(203, 182, 232, .24), transparent 26%),
    radial-gradient(circle at 8% 84%, rgba(255, 209, 102, .14), transparent 28%),
    linear-gradient(135deg, #241142 0%, #4b237f 52%, #2b1450 100%);
  --product-surface: #f7f6fa;
  --product-cta: #582e90;
  --product-cta-hover: #3d1f6d;
  --product-display-font: "Archivo Black", "Manrope", system-ui, sans-serif;
}

.product-page .eyebrow { color: var(--product-accent); }
.product-page .eyebrow::before { background: var(--product-accent); }
.product-page .section--mist { background: var(--product-surface); }
.product-page .lead-note { border-left-color: var(--product-accent); background: color-mix(in srgb, var(--product-accent-soft) 18%, #fff); }
.product-page .capability-card__number,
.product-page .product-step__index,
.product-page .feature-card__number { color: var(--product-accent); }
.product-page .check-list li::before { background: var(--product-accent); }

.product-page .page-hero {
  background-color: var(--product-hero-bg);
  background-image: var(--product-hero-gradient);
}
.product-page .page-hero .eyebrow { color: var(--product-accent-soft); }
.product-page .page-hero .eyebrow::before { background: var(--product-accent-soft); }
.product-page .page-hero h1 { font-family: var(--product-display-font); font-weight: 700; letter-spacing: -.04em; }
.product-page--plibus .page-hero h1 { font-weight: 400; text-transform: uppercase; line-height: .98; }

.product-page .product-brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: normal;
  text-transform: none;
}
.product-page .product-brand img { width: auto; height: 42px; max-width: 180px; object-fit: contain; }
.product-page--cifre .product-brand img { height: 38px; }
.product-page--plibus .product-brand img { height: 46px; filter: drop-shadow(0 8px 18px rgba(15, 6, 30, .28)); }

.product-page .product-highlight {
  border-color: rgba(255, 255, 255, .2);
  background: rgba(255, 255, 255, .08);
  backdrop-filter: blur(10px);
}
.product-page--plibus .product-highlight li::before { background: #ffd166; }

.product-page .button:not(.button--outline) {
  background: var(--product-cta);
  color: var(--product-cta-text, #fff);
}
.product-page .button:not(.button--outline):hover {
  background: var(--product-cta-hover);
  color: var(--product-cta-text, #fff);
}
.product-page--cifre .button:not(.button--outline) { color: var(--product-cta-text); box-shadow: 0 14px 30px rgba(13, 21, 69, .18); }
.product-page--plibus .button:not(.button--outline) { box-shadow: 0 14px 30px rgba(88, 46, 144, .28); }

.product-page .detail-section--dark {
  background: var(--product-hero-bg);
}
.product-page--cifre .detail-section--dark .eyebrow { color: var(--product-accent-soft); }
.product-page--plibus .detail-section--dark .eyebrow { color: #ffd166; }

.product-page .cta-band {
  background: var(--product-accent);
}
.product-page--cifre .cta-band {
  background: linear-gradient(135deg, #0d1545, #1e3a8a);
}
.product-page--plibus .cta-band {
  background: linear-gradient(135deg, #582e90, #3d1f6d);
}
.product-page .cta-band .button {
  background: #fff;
  color: var(--product-ink);
}
.product-page .cta-band .button--outline {
  border-color: #fff;
  color: #fff;
  background: transparent;
}

.product-page .product-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}
.product-page .product-chip {
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  color: #eef4ff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.product-page--plibus .product-chip { color: #f2ecf9; }

.product-page .product-launch {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 28px;
  color: var(--product-accent-soft);
  font-size: 12px;
  font-weight: 700;
}
.product-page .product-launch svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

/* Showcase estilo campus Plibus */
.plibus-showcase {
  padding: 112px 0;
  background: linear-gradient(180deg, #f7f6fa 0%, #fff 100%);
}
.plibus-showcase__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 70px;
  align-items: center;
}
.plibus-showcase__stage {
  position: relative;
  min-height: 560px;
  display: grid;
  place-items: end center;
  padding: 34px 28px 0;
}
.plibus-showcase__backdrop {
  position: absolute;
  inset: 8% 4% 18%;
  border-radius: 28px;
  background:
    radial-gradient(circle at 80% 20%, rgba(203, 182, 232, .28), transparent 26%),
    radial-gradient(circle at 8% 84%, rgba(255, 209, 102, .16), transparent 28%),
    linear-gradient(135deg, #241142 0%, #4b237f 52%, #2b1450 100%);
  box-shadow: 0 34px 80px rgba(44, 21, 78, .22);
}
.plibus-showcase__backdrop::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid rgba(255, 255, 255, .12);
}
.plibus-showcase__panel {
  position: relative;
  z-index: 2;
  width: min(100%, 430px);
  margin: 0 auto 120px;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 22px;
  background: rgba(255, 255, 255, .95);
  backdrop-filter: blur(12px);
  box-shadow: 0 28px 60px rgba(15, 6, 30, .28);
}
.plibus-showcase__panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.plibus-showcase__panel-head img { width: 108px; height: auto; filter: none; }
.plibus-showcase__panel-head span {
  padding: 6px 10px;
  border-radius: 999px;
  background: #f2ecf9;
  color: #582e90;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.plibus-showcase__panel-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.plibus-showcase__panel-grid article {
  padding: 14px;
  border: 1px solid #ece7f3;
  border-radius: 16px;
  background: #faf9fc;
}
.plibus-showcase__panel-grid img { width: 34px; height: 34px; object-fit: contain; }
.plibus-showcase__panel-grid strong {
  display: block;
  margin-top: 10px;
  color: #1a1a2e;
  font-size: 12px;
}
.plibus-showcase__panel-grid span {
  display: block;
  margin-top: 3px;
  color: #716b7d;
  font-size: 10px;
  line-height: 1.45;
}
.plibus-showcase__progress {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #ece7f3;
}
.plibus-showcase__progress > span {
  color: #716b7d;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.plibus-showcase__progress div {
  height: 8px;
  margin-top: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #ece7f3;
}
.plibus-showcase__progress div i {
  display: block;
  height: 100%;
  width: 72%;
  border-radius: inherit;
  background: linear-gradient(90deg, #582e90, #ffd166);
}
.plibus-showcase__progress strong {
  display: block;
  margin-top: 8px;
  color: #582e90;
  font-size: 11px;
}
.plibus-showcase__float {
  position: absolute;
  z-index: 3;
  min-width: 150px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 14px;
  background: rgba(22, 10, 42, .78);
  backdrop-filter: blur(10px);
  color: #fff;
  box-shadow: 0 18px 45px rgba(15, 6, 30, .28);
}
.plibus-showcase__float span {
  display: block;
  color: #ffd166;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.plibus-showcase__float strong {
  display: block;
  margin-top: 4px;
  font-size: 12px;
}
.plibus-showcase__float--route { top: 14%; left: 0; }
.plibus-showcase__float--badge { right: 0; bottom: 28%; }
.plibus-showcase__plibu {
  position: absolute;
  z-index: 4;
  right: -2%;
  bottom: 0;
  width: min(58%, 300px);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 28px 34px rgba(15, 6, 30, .42));
  pointer-events: none;
}
.plibus-showcase__copy h2 {
  margin-top: 18px;
  font-family: var(--product-display-font);
  font-size: clamp(34px, 4vw, 52px);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: 1.02;
  text-transform: uppercase;
  color: var(--product-ink);
}
.plibus-showcase__copy > p {
  margin-top: 20px;
  color: var(--product-muted);
  font-size: 16px;
  line-height: 1.8;
}
.plibus-showcase__copy .check-list { margin-top: 24px; }
.plibus-showcase__copy .page-hero__actions { margin-top: 30px; }

.plibus-admin-showcase {
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 620px;
  background: linear-gradient(135deg, #241142 0%, #3d1f6d 100%);
  color: #fff;
}
.plibus-admin-showcase__visual {
  position: relative;
  min-height: 520px;
  padding: 48px 40px;
}
.plibus-admin-showcase__visual::before {
  content: "";
  position: absolute;
  right: -80px;
  top: 50%;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(203, 182, 232, .22), transparent 68%);
  transform: translateY(-50%);
}
.plibus-admin-showcase__card {
  position: relative;
  z-index: 2;
  max-width: 360px;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 20px;
  background: rgba(255, 255, 255, .08);
  backdrop-filter: blur(10px);
}
.plibus-admin-showcase__card strong {
  display: block;
  color: #ffd166;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.plibus-admin-showcase__metrics {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 18px;
}
.plibus-admin-showcase__metrics div {
  padding: 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .06);
}
.plibus-admin-showcase__metrics b {
  display: block;
  font-size: 24px;
}
.plibus-admin-showcase__metrics span {
  display: block;
  margin-top: 4px;
  color: #cbb6e8;
  font-size: 10px;
}
.plibus-admin-showcase__copy {
  padding: 80px 8vw 80px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.plibus-admin-showcase__copy .eyebrow { color: #ffd166; }
.plibus-admin-showcase__copy .eyebrow::before { background: #ffd166; }
.plibus-admin-showcase__copy h2,
.plibus-admin-showcase__copy p,
.plibus-admin-showcase__copy .check-list li { color: #fff; }
.plibus-admin-showcase__copy .check-list li::before { background: #ffd166; }
.plibus-admin-showcase__copy .button {
  align-self: flex-start;
  margin-top: 28px;
  background: #fff;
  color: #3d1f6d;
}

@media (max-width: 960px) {
  .plibus-showcase__grid,
  .plibus-admin-showcase { grid-template-columns: 1fr; }
  .plibus-showcase__stage { min-height: 500px; }
  .plibus-showcase__plibu { width: min(50%, 240px); right: 0; }
  .plibus-admin-showcase__copy { padding: 64px 24px; }
  .plibus-admin-showcase__visual { min-height: 420px; }
}

@media (max-width: 640px) {
  .plibus-showcase { padding: 84px 0; }
  .plibus-showcase__grid { gap: 40px; }
  .plibus-showcase__stage { min-height: 460px; padding-inline: 0; }
  .plibus-showcase__panel { margin-bottom: 108px; }
  .plibus-showcase__float--route { left: 8px; }
  .plibus-showcase__float--badge { right: 8px; }
}
