/* ════════════════════════════════════════════════════════════════
   MI TURNO · components/buttons-glass.css
   iOS 26 Liquid Glass – botones de cristal
   ════════════════════════════════════════════════════════════════ */

.btn-glass {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 18px;
  border-radius: var(--radius-sm);
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 12.5px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--glass-color, var(--text));
  /* Liquid Glass base */
  background: color-mix(in srgb, var(--glass-tint, white) 55%, rgba(255, 255, 255, 0.5));
  backdrop-filter: var(--blur-lg);
  -webkit-backdrop-filter: var(--blur-lg);
  border: 1px solid color-mix(in srgb, var(--glass-color, white) 22%, rgba(255, 255, 255, 0.55));
  box-shadow:
    inset 0 1.5px 0 rgba(255, 255, 255, 0.9),
    inset 0 -1px 0 color-mix(in srgb, var(--glass-color, black) 6%, transparent),
    0 8px 28px color-mix(in srgb, var(--glass-color, black) 12%, transparent),
    0 2px 8px rgba(20, 30, 80, 0.05);
  transition:
    transform 0.22s var(--ios-ease),
    box-shadow 0.25s var(--ios-ease),
    background 0.22s var(--ios-ease);
  isolation: isolate;
  will-change: transform;
}

/* Specular top face – efecto lupa */
.btn-glass::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 52%;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.55) 0%,
    rgba(255, 255, 255, 0.18) 55%,
    transparent 100%
  );
  pointer-events: none;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  z-index: 1;
}

/* Destello diagonal al hover */
.btn-glass::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -30%;
  width: 30%;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0.32) 50%,
    transparent 100%
  );
  transform: skewX(-18deg);
  pointer-events: none;
  z-index: 2;
  transition: left 0.65s var(--ios-ease);
}

.btn-glass:hover::after {
  left: 130%;
}

.btn-glass > * {
  position: relative;
  z-index: 3;
}

.btn-glass:active {
  transform: scale(0.96);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.7),
    inset 0 -1px 0 color-mix(in srgb, var(--glass-color, black) 6%, transparent),
    0 4px 14px color-mix(in srgb, var(--glass-color, black) 16%, transparent),
    0 1px 4px rgba(20, 30, 80, 0.06);
}

/* ── Variantes ─────────────────────────────────────────────── */
.btn-glass.glass-pdf {
  --glass-color: #dc2626;
  --glass-tint: #fee2e2;
}

.btn-glass.glass-excel {
  --glass-color: #059669;
  --glass-tint: #d1fae5;
}

.btn-glass.glass-account {
  --glass-color: var(--accent);
  --glass-tint: var(--accent-tint);
}

.btn-glass.glass-signout {
  --glass-color: var(--danger);
  --glass-tint: var(--danger-dim);
}

/* ── Dark mode ─────────────────────────────────────────────── */
[data-theme='dark'] .btn-glass {
  background: color-mix(in srgb, var(--glass-tint, var(--surface2)) 20%, rgba(255, 255, 255, 0.07));
  border-color: color-mix(in srgb, var(--glass-color, white) 28%, rgba(255, 255, 255, 0.12));
  box-shadow:
    inset 0 1.5px 0 rgba(255, 255, 255, 0.12),
    inset 0 -1px 0 rgba(0, 0, 0, 0.2),
    0 8px 28px color-mix(in srgb, var(--glass-color, black) 22%, transparent),
    0 2px 8px rgba(0, 0, 0, 0.2);
}

[data-theme='dark'] .btn-glass::before {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.12) 0%,
    rgba(255, 255, 255, 0.04) 55%,
    transparent 100%
  );
}

[data-theme='dark'] .btn-glass::after {
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0.1) 50%,
    transparent 100%
  );
}

[data-theme='dark'] .btn-glass.glass-pdf {
  --glass-color: #f87171;
  --glass-tint: rgba(239, 68, 68, 0.1);
}

[data-theme='dark'] .btn-glass.glass-excel {
  --glass-color: #34d399;
  --glass-tint: rgba(5, 150, 105, 0.1);
}
