/* Móviles Componentes Design System v1.0 — GENERADO por build.mjs desde tokens.json. No editar a mano. */

:root {
  --mc-color-brand-50: #E6F6EC;
  --mc-color-brand-100: #C2EAD0;
  --mc-color-brand-200: #94DAB0;
  --mc-color-brand-300: #5CC688;
  --mc-color-brand-400: #26AD62;
  --mc-color-brand-500: #0fa163;
  --mc-color-brand-600: #0fa163;
  --mc-color-brand-700: #00652E;
  --mc-color-brand-800: #004F24;
  --mc-color-brand-900: #003A1B;
  --mc-color-brand-950: #002611;
  --mc-color-circuit-50: #E5F3FA;
  --mc-color-circuit-100: #BFE2F3;
  --mc-color-circuit-200: #8FCCE9;
  --mc-color-circuit-300: #55B1DC;
  --mc-color-circuit-400: #1F94CB;
  --mc-color-circuit-500: #0077B6;
  --mc-color-circuit-600: #00629A;
  --mc-color-circuit-700: #004E7C;
  --mc-color-circuit-800: #003B5E;
  --mc-color-circuit-900: #002840;
  --mc-color-neutral-0: #FFFFFF;
  --mc-color-neutral-50: #F6F8F7;
  --mc-color-neutral-100: #EDF1EF;
  --mc-color-neutral-200: #DDE3E0;
  --mc-color-neutral-300: #C3CCC8;
  --mc-color-neutral-400: #9AA6A1;
  --mc-color-neutral-500: #6F7C77;
  --mc-color-neutral-600: #55615C;
  --mc-color-neutral-700: #3A403D;
  --mc-color-neutral-800: #2B3330;
  --mc-color-neutral-900: #1A201E;
  --mc-color-neutral-950: #0E1211;
  --mc-color-success-bg: #E8F5E9;
  --mc-color-success-border: #A5D6A7;
  --mc-color-success-base: #2E7D32;
  --mc-color-success-text: #1B5E20;
  --mc-color-warning-bg: #FFF4E0;
  --mc-color-warning-border: #FFC266;
  --mc-color-warning-base: #F59E0B;
  --mc-color-warning-text: #8A5300;
  --mc-color-error-bg: #FDECEA;
  --mc-color-error-border: #F5A3A0;
  --mc-color-error-base: #C62828;
  --mc-color-error-text: #8E1B1B;
  --mc-color-info-bg: var(--mc-color-circuit-50);
  --mc-color-info-border: var(--mc-color-circuit-200);
  --mc-color-info-base: var(--mc-color-circuit-500);
  --mc-color-info-text: var(--mc-color-circuit-700);
  --mc-color-text-primary: var(--mc-color-neutral-900);
  --mc-color-text-secondary: var(--mc-color-neutral-600);
  --mc-color-text-muted: var(--mc-color-neutral-500);
  --mc-color-text-inverse: var(--mc-color-neutral-0);
  --mc-color-text-brand: var(--mc-color-brand-600);
  --mc-color-text-brand-hover: var(--mc-color-brand-800);
  --mc-color-text-link-info: var(--mc-color-circuit-600);
  --mc-color-text-disabled: var(--mc-color-neutral-400);
  --mc-color-bg-page: var(--mc-color-neutral-0);
  --mc-color-bg-subtle: var(--mc-color-neutral-50);
  --mc-color-bg-muted: var(--mc-color-neutral-100);
  --mc-color-bg-inverse: var(--mc-color-neutral-900);
  --mc-color-bg-brand-subtle: var(--mc-color-brand-50);
  --mc-color-bg-overlay: rgba(14, 18, 17, 0.56);
  --mc-color-border-default: var(--mc-color-neutral-200);
  --mc-color-border-strong: var(--mc-color-neutral-300);
  --mc-color-border-input: var(--mc-color-neutral-500);
  --mc-color-border-brand: var(--mc-color-brand-500);
  --mc-color-border-focus: var(--mc-color-brand-500);
  --mc-color-border-error: var(--mc-color-error-base);
  --mc-color-action-primary: var(--mc-color-brand-600);
  --mc-color-action-primary-hover: var(--mc-color-brand-700);
  --mc-color-action-primary-active: var(--mc-color-brand-800);
  --mc-color-action-secondary: var(--mc-color-neutral-900);
  --mc-color-action-secondary-hover: var(--mc-color-neutral-700);
  --mc-color-action-tint-hover: var(--mc-color-brand-50);
  --mc-color-action-tint-active: var(--mc-color-brand-100);
  --mc-color-action-disabled-bg: var(--mc-color-neutral-200);
  --mc-color-action-disabled-fg: var(--mc-color-neutral-500);
  --mc-color-price-current: var(--mc-color-neutral-900);
  --mc-color-price-sale: var(--mc-color-error-base);
  --mc-color-price-old: var(--mc-color-neutral-500);
  --mc-font-family-display: 'Space Grotesk', 'Inter', system-ui, sans-serif;
  --mc-font-family-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mc-font-family-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --mc-font-size-xs: 0.75rem;
  --mc-font-size-sm: 0.875rem;
  --mc-font-size-md: 1rem;
  --mc-font-size-lg: 1.125rem;
  --mc-font-size-xl: 1.25rem;
  --mc-font-size-2xl: 1.5rem;
  --mc-font-size-3xl: clamp(1.5rem, 1.25rem + 1vw, 1.875rem);
  --mc-font-size-4xl: clamp(1.75rem, 1.3rem + 1.8vw, 2.25rem);
  --mc-font-size-5xl: clamp(2rem, 1.4rem + 2.6vw, 3rem);
  --mc-font-weight-regular: 400;
  --mc-font-weight-medium: 500;
  --mc-font-weight-semibold: 600;
  --mc-font-weight-bold: 700;
  --mc-font-leading-tight: 1.15;
  --mc-font-leading-snug: 1.3;
  --mc-font-leading-normal: 1.5;
  --mc-font-leading-relaxed: 1.65;
  --mc-font-tracking-tight: -0.02em;
  --mc-font-tracking-normal: 0;
  --mc-font-tracking-wide: 0.04em;
  --mc-font-tracking-caps: 0.12em;
  --mc-space-0: 0px;
  --mc-space-1: 8px;
  --mc-space-2: 16px;
  --mc-space-3: 24px;
  --mc-space-4: 32px;
  --mc-space-5: 40px;
  --mc-space-6: 48px;
  --mc-space-8: 64px;
  --mc-space-10: 80px;
  --mc-space-12: 96px;
  --mc-space-16: 128px;
  --mc-space-half: 4px;
  --mc-size-control-sm: 32px;
  --mc-size-control-md: 40px;
  --mc-size-control-lg: 48px;
  --mc-size-icon-sm: 16px;
  --mc-size-icon-md: 24px;
  --mc-size-icon-lg: 32px;
  --mc-size-container-max: 1280px;
  --mc-size-content-prose: 680px;
  --mc-radius-none: 0px;
  --mc-radius-sm: 4px;
  --mc-radius-md: 8px;
  --mc-radius-lg: 12px;
  --mc-radius-xl: 16px;
  --mc-radius-full: 9999px;
  --mc-border-width-thin: 1px;
  --mc-border-width-thick: 2px;
  --mc-shadow-xs: 0 1px 2px rgba(14, 18, 17, 0.06);
  --mc-shadow-sm: 0 2px 4px rgba(14, 18, 17, 0.06), 0 1px 2px rgba(14, 18, 17, 0.04);
  --mc-shadow-md: 0 6px 16px rgba(14, 18, 17, 0.08), 0 2px 4px rgba(14, 18, 17, 0.04);
  --mc-shadow-lg: 0 16px 32px rgba(14, 18, 17, 0.12), 0 4px 8px rgba(14, 18, 17, 0.06);
  --mc-shadow-focus: 0 0 0 2px #FFFFFF, 0 0 0 4px #009040;
  --mc-z-base: 0;
  --mc-z-sticky: 100;
  --mc-z-dropdown: 200;
  --mc-z-drawer: 300;
  --mc-z-modal: 400;
  --mc-z-toast: 500;
  --mc-z-tooltip: 600;
  --mc-breakpoint-sm: 640px;
  --mc-breakpoint-md: 768px;
  --mc-breakpoint-lg: 1024px;
  --mc-breakpoint-xl: 1280px;
  --mc-breakpoint-2xl: 1536px;
  --mc-grid-margin-mobile: 16px;
  --mc-grid-margin-tablet: 24px;
  --mc-grid-margin-desktop: 32px;
  --mc-grid-gutter-mobile: 16px;
  --mc-grid-gutter-desktop: 24px;
  --mc-motion-duration-instant: 80ms;
  --mc-motion-duration-fast: 150ms;
  --mc-motion-duration-base: 220ms;
  --mc-motion-duration-moderate: 320ms;
  --mc-motion-duration-slow: 480ms;
  --mc-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --mc-motion-easing-enter: cubic-bezier(0, 0, 0.2, 1);
  --mc-motion-easing-exit: cubic-bezier(0.4, 0, 1, 1);
  --mc-motion-easing-snap: cubic-bezier(0.34, 1.56, 0.64, 1);
  --mc-opacity-disabled: 0.45;
  --mc-opacity-hover-overlay: 0.06;
  --mc-opacity-pressed-overlay: 0.12;
  --mc-shape-hex: polygon(25% 5%, 75% 5%, 100% 50%, 75% 95%, 25% 95%, 0 50%);
}

/* Roles tipográficos */
.mc-display {
  font-family: var(--mc-font-family-display);
  font-size: var(--mc-font-size-5xl);
  font-weight: var(--mc-font-weight-bold);
  line-height: var(--mc-font-leading-tight);
  letter-spacing: var(--mc-font-tracking-tight);
}
.mc-h1 {
  font-family: var(--mc-font-family-display);
  font-size: var(--mc-font-size-4xl);
  font-weight: var(--mc-font-weight-bold);
  line-height: var(--mc-font-leading-tight);
  letter-spacing: var(--mc-font-tracking-tight);
}
.mc-h2 {
  font-family: var(--mc-font-family-display);
  font-size: var(--mc-font-size-3xl);
  font-weight: var(--mc-font-weight-bold);
  line-height: var(--mc-font-leading-snug);
  letter-spacing: var(--mc-font-tracking-tight);
}
.mc-h3 {
  font-family: var(--mc-font-family-display);
  font-size: var(--mc-font-size-2xl);
  font-weight: var(--mc-font-weight-semibold);
  line-height: var(--mc-font-leading-snug);
  letter-spacing: var(--mc-font-tracking-normal);
}
.mc-h4 {
  font-family: var(--mc-font-family-display);
  font-size: var(--mc-font-size-xl);
  font-weight: var(--mc-font-weight-semibold);
  line-height: var(--mc-font-leading-snug);
  letter-spacing: var(--mc-font-tracking-normal);
}
.mc-lead {
  font-family: var(--mc-font-family-body);
  font-size: var(--mc-font-size-lg);
  font-weight: var(--mc-font-weight-regular);
  line-height: var(--mc-font-leading-relaxed);
  letter-spacing: var(--mc-font-tracking-normal);
}
.mc-body {
  font-family: var(--mc-font-family-body);
  font-size: var(--mc-font-size-md);
  font-weight: var(--mc-font-weight-regular);
  line-height: var(--mc-font-leading-normal);
  letter-spacing: var(--mc-font-tracking-normal);
}
.mc-label {
  font-family: var(--mc-font-family-body);
  font-size: var(--mc-font-size-sm);
  font-weight: var(--mc-font-weight-medium);
  line-height: var(--mc-font-leading-snug);
  letter-spacing: var(--mc-font-tracking-normal);
}
.mc-caption {
  font-family: var(--mc-font-family-body);
  font-size: var(--mc-font-size-xs);
  font-weight: var(--mc-font-weight-regular);
  line-height: var(--mc-font-leading-snug);
  letter-spacing: var(--mc-font-tracking-wide);
}
.mc-eyebrow {
  font-family: var(--mc-font-family-display);
  font-size: var(--mc-font-size-xs);
  font-weight: var(--mc-font-weight-semibold);
  line-height: var(--mc-font-leading-snug);
  letter-spacing: var(--mc-font-tracking-caps);
}
.mc-price {
  font-family: var(--mc-font-family-display);
  font-size: var(--mc-font-size-2xl);
  font-weight: var(--mc-font-weight-bold);
  line-height: var(--mc-font-leading-tight);
  letter-spacing: var(--mc-font-tracking-tight);
}
.mc-spec {
  font-family: var(--mc-font-family-mono);
  font-size: var(--mc-font-size-sm);
  font-weight: var(--mc-font-weight-regular);
  line-height: var(--mc-font-leading-normal);
  letter-spacing: var(--mc-font-tracking-normal);
}

/* Base */
body {
  margin: 0;
  background: var(--mc-color-bg-page);
  color: var(--mc-color-text-primary);
  font: 400 var(--mc-font-size-md) / var(--mc-font-leading-normal) var(--mc-font-family-body);
  -webkit-font-smoothing: antialiased;
}
:focus-visible {
  outline: none;
  box-shadow: var(--mc-shadow-focus);
  border-radius: var(--mc-radius-sm);
}
.mc-hex { clip-path: var(--mc-shape-hex); }
.mc-container {
  width: 100%;
  max-width: var(--mc-size-container-max);
  margin-inline: auto;
  padding-inline: var(--mc-grid-margin-mobile);
}
@media (min-width: 768px) { .mc-container { padding-inline: var(--mc-grid-margin-tablet); } }
@media (min-width: 1024px) { .mc-container { padding-inline: var(--mc-grid-margin-desktop); } }
.mc-grid {
  display: grid;
  gap: var(--mc-grid-gutter-mobile);
  grid-template-columns: repeat(4, 1fr);
}
@media (min-width: 768px) { .mc-grid { grid-template-columns: repeat(8, 1fr); } }
@media (min-width: 1024px) { .mc-grid { grid-template-columns: repeat(12, 1fr); gap: var(--mc-grid-gutter-desktop); } }
.mc-skeleton {
  background: linear-gradient(90deg, var(--mc-color-neutral-100) 25%, var(--mc-color-neutral-50) 50%, var(--mc-color-neutral-100) 75%);
  background-size: 200% 100%;
  animation: mc-shimmer 1.4s linear infinite;
}
@keyframes mc-shimmer { to { background-position: -200% 0; } }
@keyframes mc-bump { 40% { transform: scale(1.25); } }
@media (max-width: 767px) { :root { --mc-size-control-md: var(--mc-size-control-lg); } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
