/**
 * AXIONS Atelier — lavado de cara premium (capa final).
 * Cargar DESPUÉS de components / motion / polish.
 *
 * Dirección: maison digital — oro AXIONS + piedra fría + tipografía expresiva.
 * No reescribe módulos; eleva botones, cards, ritmo y motion.
 */

/* ── Página: atmósfera + tipografía ─────────────────────── */
.dashboard-theme.core-body,
.ax-theme-root.dashboard-theme {
  font-family: var(--ax-font-sans);
  letter-spacing: -0.011em;
  background-color: var(--bg-page);
  background-image: var(--ax-page-glow), var(--ax-page-glow-2);
  background-attachment: fixed;
}

.dashboard-theme h1,
.dashboard-theme h2,
.dashboard-theme .boutique-topbar__title,
.dashboard-theme .core-page-title,
.dashboard-theme .ax-display {
  font-family: var(--ax-font-display);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: var(--ax-type-hero-lh, 1.15);
}

.dashboard-theme h3,
.dashboard-theme h4,
.dashboard-theme .core-section-title {
  font-family: var(--ax-font-sans);
  font-weight: 600;
  letter-spacing: -0.018em;
}

/* ── Botones Atelier ────────────────────────────────────── */
.dashboard-theme .core-btn-primary,
.dashboard-theme .btn-primary,
.dashboard-theme .btn,
.dashboard-theme .ax-hero-cta,
.core-btn-primary {
  min-height: 2.75rem;
  padding: 0.7rem 1.35rem;
  border-radius: var(--ax-radius-btn, 0.625rem);
  font-weight: 600;
  letter-spacing: -0.015em;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 1px 2px rgba(18, 18, 20, 0.06),
    0 8px 20px rgba(196, 169, 98, 0.28);
}

.dashboard-theme .core-btn-primary:hover,
.dashboard-theme .btn-primary:hover,
.dashboard-theme .btn:hover,
.dashboard-theme .ax-hero-cta:hover,
.core-btn-primary:hover {
  transform: translateY(-1.5px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 10px 28px rgba(196, 169, 98, 0.36);
}

.dashboard-theme .core-btn-secondary,
.dashboard-theme .btn-secondary,
.core-btn-secondary {
  min-height: 2.75rem;
  padding: 0.7rem 1.25rem;
  border-radius: var(--ax-radius-btn, 0.625rem);
  background: color-mix(in srgb, var(--bg-surface) 88%, transparent);
  border-color: color-mix(in srgb, var(--border-strong) 70%, var(--ax-brand) 12%);
  font-weight: 600;
  letter-spacing: -0.012em;
}

.dashboard-theme .core-btn-secondary:hover,
.core-btn-secondary:hover {
  border-color: color-mix(in srgb, var(--ax-brand) 45%, var(--border));
  background: var(--bg-subtle);
  box-shadow: var(--shadow-sm);
}

.dashboard-theme .core-btn-ghost,
.core-btn-ghost {
  min-height: 2.5rem;
  border-radius: var(--ax-radius-btn, 0.625rem);
  letter-spacing: -0.01em;
}

/* ── Cards: más aire, borde más fino, lift suave ────────── */
.dashboard-theme .core-card,
.dashboard-theme .bento-card,
.dashboard-theme .core-module-card,
.dashboard-theme .service-card,
.dashboard-theme .ax-kpi-card,
.ax-card {
  border-radius: var(--ax-radius-card, 1rem);
  padding: var(--ax-s-6, 1.5rem);
  border-color: color-mix(in srgb, var(--border) 92%, var(--ax-brand) 8%);
}

.dashboard-theme .bento-card,
.dashboard-theme .core-module-card {
  padding: var(--ax-s-5, 1.25rem) var(--ax-s-6, 1.5rem);
}

.dashboard-theme .core-card:hover,
.dashboard-theme .bento-card:hover,
.dashboard-theme .core-module-card:hover,
.dashboard-theme .service-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--ax-brand) 32%, var(--border));
}

/* ── Espaciado de secciones ─────────────────────────────── */
.dashboard-theme .bento-main,
.dashboard-theme main#bento-main,
.dashboard-theme .core-content {
  padding-block: var(--ax-s-6, 1.5rem);
}

.dashboard-theme .bento-grid,
.dashboard-theme .core-grid {
  gap: var(--ax-s-5, 1.25rem);
}

.dashboard-theme .core-page-header,
.dashboard-theme .boutique-page-head {
  margin-bottom: var(--ax-s-6, 1.5rem);
  gap: var(--ax-s-3, 0.75rem);
}

.dashboard-theme .core-page-header p,
.dashboard-theme .boutique-page-head p,
.dashboard-theme .core-lead {
  max-width: 42rem;
  color: var(--text-muted);
  line-height: 1.55;
}

/* ── Inputs: más altos, más quietos ─────────────────────── */
.dashboard-theme input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.dashboard-theme select,
.dashboard-theme textarea,
.dashboard-theme .core-input {
  min-height: 2.75rem;
  border-radius: var(--ax-radius-btn, 0.625rem);
  padding-inline: 0.9rem;
  border-color: var(--border);
  background: var(--bg-surface);
  transition:
    border-color var(--ax-motion-fast),
    box-shadow var(--ax-motion-fast),
    background var(--ax-motion-fast);
}

.dashboard-theme input:focus-visible,
.dashboard-theme select:focus-visible,
.dashboard-theme textarea:focus-visible,
.dashboard-theme .core-input:focus-visible {
  border-color: color-mix(in srgb, var(--ax-brand) 55%, var(--border));
  box-shadow: var(--shadow-focus);
}

/* ── Topbar / nav: hairline oro ─────────────────────────── */
.dashboard-theme .boutique-topbar {
  backdrop-filter: blur(14px) saturate(1.15);
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
}

.dashboard-theme .core-nav.is-active,
.dashboard-theme .boutique-nav__link.is-active,
.dashboard-theme a.core-nav[aria-current="page"] {
  box-shadow: inset 3px 0 0 var(--ax-brand);
}

/* ── Motion de entrada (suave, no ruido) ────────────────── */
@keyframes ax-atelier-rise {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes ax-atelier-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.dashboard-theme .bento-main > *:not(script):not(style),
.dashboard-theme .core-content > .core-card,
.dashboard-theme .core-content > .bento-card,
.dashboard-theme .ax-atelier-rise {
  animation: ax-atelier-rise var(--ax-motion-med) both;
}

.dashboard-theme .bento-main > *:nth-child(1) {
  animation-delay: 0ms;
}
.dashboard-theme .bento-main > *:nth-child(2) {
  animation-delay: 40ms;
}
.dashboard-theme .bento-main > *:nth-child(3) {
  animation-delay: 80ms;
}
.dashboard-theme .bento-main > *:nth-child(4) {
  animation-delay: 120ms;
}
.dashboard-theme .bento-main > *:nth-child(5) {
  animation-delay: 160ms;
}

.dashboard-theme .boutique-sidebar {
  animation: ax-atelier-fade var(--ax-motion-slow) both;
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-theme .bento-main > *:not(script):not(style),
  .dashboard-theme .core-content > .core-card,
  .dashboard-theme .core-content > .bento-card,
  .dashboard-theme .ax-atelier-rise,
  .dashboard-theme .boutique-sidebar {
    animation: none !important;
  }

  .dashboard-theme .core-card:hover,
  .dashboard-theme .bento-card:hover,
  .dashboard-theme .core-btn-primary:hover {
    transform: none !important;
  }
}

/* ── Dark Atelier refinements ───────────────────────────── */
html[data-admin-chrome="dark"] .dashboard-theme.core-body {
  background-image:
    radial-gradient(
      ellipse 70% 45% at 10% -5%,
      rgba(196, 169, 98, 0.1) 0%,
      transparent 55%
    ),
    radial-gradient(
      ellipse 50% 35% at 100% 0%,
      rgba(255, 255, 255, 0.03) 0%,
      transparent 50%
    );
}

html[data-admin-chrome="dark"] .dashboard-theme .core-card,
html[data-admin-chrome="dark"] .dashboard-theme .bento-card,
html[data-admin-chrome="dark"] .dashboard-theme .core-module-card {
  background: linear-gradient(
    165deg,
    color-mix(in srgb, var(--bg-elevated) 92%, #fff 2%) 0%,
    var(--bg-elevated) 100%
  );
  border-color: color-mix(in srgb, var(--border) 85%, var(--ax-brand) 15%);
}

html[data-admin-chrome="dark"] .dashboard-theme .core-btn-secondary {
  background: color-mix(in srgb, var(--bg-elevated) 90%, transparent);
  border-color: color-mix(in srgb, var(--border) 80%, var(--ax-brand) 20%);
  color: var(--text-primary);
}

/* ── Guest / Go Atelier (sobre tokens go) ───────────────── */
.go-premium,
.go-shell,
body.go-body {
  font-family: var(--go-font-body, var(--ax-font-sans));
  -webkit-font-smoothing: antialiased;
}

.go-premium h1,
.go-premium .go-title,
.go-shell .go-title,
.go-hero__title {
  font-family: var(--go-font-display, var(--ax-font-display));
  letter-spacing: -0.02em;
}

.go-btn,
.go-premium .go-btn,
a.go-cta,
button.go-cta {
  min-height: 2.85rem;
  border-radius: 0.75rem;
  font-weight: 600;
  letter-spacing: -0.012em;
  transition:
    transform var(--ax-motion-fast, 180ms ease),
    box-shadow var(--ax-motion-fast, 180ms ease),
    background var(--ax-motion-fast, 180ms ease);
}

.go-btn:hover,
a.go-cta:hover,
button.go-cta:hover {
  transform: translateY(-1px);
}

.go-premium--light {
  --go-bg: #ebe7df;
  --go-surface: #f7f4ee;
  --go-surface-2: #fffcf8;
}

/* Portal dueños: misma capa */
.portal-shell,
.portal-body {
  font-family: var(--ax-font-sans);
}

.portal-shell h1,
.portal-auth h1 {
  font-family: var(--ax-font-display);
  letter-spacing: -0.02em;
}
