/*
 * Koder Design — UI style preset rules
 *
 * Source: ~/temp/koder-ui-style-previews.html (2026-05-09 prototype, ratified
 * as the visual reference of design-RFC-001). Only `.preset.*` selectors
 * are kept here; page chrome lives in base.css. Each preset declares its
 * own CSS custom properties on `.preset.<slug>` and the inner cards read
 * them via `var(--…)` with light-theme defaults.
 *
 * Stage container forces a light backdrop so previews render the same
 * regardless of the surrounding page theme.
 */
.stage,
.stage-large {
  background: linear-gradient(180deg, #f5f5f5, #ececec);
  padding: 20px;
  border-radius: 8px;
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.stage-large { padding: 40px; min-height: 360px; }

.preset .form-card {
  font-family: var(--font, 'Inter', sans-serif);
  background: var(--bg, #fff);
  color: var(--on-surface, #111);
  border-radius: var(--radius-lg, 12px);
  padding: var(--pad-form, 24px);
  box-shadow: var(--shadow-form, 0 4px 16px rgba(0,0,0,0.1));
  border: var(--border-form, none);
  width: 100%;
  max-width: 440px;
}
.preset .form-title {
  margin: 0 0 var(--gap-title, 20px);
  font-size: var(--font-size-title, 18px);
  font-weight: var(--font-weight-title, 600);
  letter-spacing: var(--letter-title, normal);
  color: var(--on-surface, #111);
}
.preset label {
  display: block;
  font-size: var(--font-size-label, 12px);
  font-weight: var(--font-weight-label, 500);
  color: var(--label-color, #555);
  margin-bottom: var(--gap-label, 6px);
  letter-spacing: var(--letter-label, normal);
  text-transform: var(--label-case, none);
}
.preset input {
  width: 100%;
  padding: var(--pad-y, 10px) var(--pad-x, 12px);
  font-family: inherit;
  font-size: var(--font-size-input, 14px);
  background: var(--surface, #fff);
  color: var(--on-surface, #111);
  border: var(--input-border, 1px solid #ccc);
  border-radius: var(--radius-md, 6px);
  margin-bottom: var(--gap-field, 14px);
  outline: none;
  transition: var(--motion, 150ms ease);
  box-shadow: var(--input-shadow, none);
}
.preset input:focus {
  border-color: var(--accent, #6750A4);
  box-shadow: var(--focus-ring, 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent));
}
.preset .row {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: var(--row-gap, 12px);
}
.preset .actions {
  display: flex; justify-content: flex-end; gap: 8px;
  margin-top: var(--gap-actions, 16px);
}
.preset button {
  padding: var(--pad-btn-y, 8px) var(--pad-btn-x, 20px);
  font-family: inherit;
  font-size: var(--font-size-btn, 14px);
  font-weight: var(--font-weight-btn, 500);
  border-radius: var(--radius-btn, var(--radius-md, 6px));
  cursor: pointer;
  border: 1px solid transparent;
  transition: var(--motion, 150ms ease);
  letter-spacing: var(--letter-btn, normal);
  text-transform: var(--btn-case, none);
}
.preset .btn-secondary {
  background: var(--btn-secondary-bg, transparent);
  color: var(--btn-secondary-fg, var(--on-surface, #111));
  border-color: var(--btn-secondary-border, transparent);
}
.preset .btn-primary {
  background: var(--accent, #6750A4);
  color: var(--accent-on, #fff);
  border-color: var(--btn-primary-border, var(--accent, #6750A4));
  box-shadow: var(--btn-shadow, none);
}
.preset .btn-secondary:hover { background: var(--btn-secondary-hover, rgba(0,0,0,0.05)); }
.preset .btn-primary:hover { background: var(--accent-strong, var(--accent, #6750A4)); }

/* ═══════════════════════════════════════════════════════════════
   GRUPO A — OS LOOK-ALIKES (10)
   ═══════════════════════════════════════════════════════════════ */

.preset.material3 {
  --font: 'Roboto', 'Inter', sans-serif;
  --accent: #6750A4; --accent-strong: #543c91; --accent-on: #fff;
  --bg: #FFFBFE; --surface: #fff; --on-surface: #1C1B1F; --label-color: #49454F;
  --radius-sm: 8px; --radius-md: 12px; --radius-lg: 24px; --radius-btn: 100px;
  --pad-y: 14px; --pad-x: 16px;
  --shadow-form: 0 1px 3px rgba(0,0,0,0.12), 0 4px 12px rgba(0,0,0,0.08);
  --input-border: 1px solid #79747E;
  --btn-shadow: 0 1px 2px rgba(0,0,0,0.1);
  --gap-field: 16px;
}

.preset.material2 {
  --font: 'Roboto', sans-serif;
  --accent: #2196F3; --accent-strong: #1976D2; --accent-on: #fff;
  --bg: #fff; --surface: #fff; --on-surface: #212121; --label-color: #757575;
  --radius-sm: 4px; --radius-md: 4px; --radius-lg: 4px; --radius-btn: 4px;
  --pad-y: 12px; --pad-x: 14px;
  --shadow-form: 0 2px 4px rgba(0,0,0,0.1), 0 4px 8px rgba(0,0,0,0.06);
  --input-border: 0; --input-shadow: inset 0 -1px 0 rgba(0,0,0,0.42);
  --focus-ring: inset 0 -2px 0 var(--accent);
  --font-weight-btn: 500;
  --btn-case: uppercase; --letter-btn: 0.05em;
}

.preset.gnome {
  --font: 'Cabin', 'Cantarell', 'Inter', sans-serif;
  --accent: #3584E4; --accent-strong: #1c71d8; --accent-on: #fff;
  --bg: #FAFAFA; --surface: #fff; --on-surface: #2e3436; --label-color: #5e6772;
  --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-btn: 6px;
  --pad-y: 8px; --pad-x: 12px;
  --shadow-form: 0 0 0 1px rgba(0,0,0,0.1);
  --input-border: 1px solid #c0c0c0;
  --gap-field: 10px; --gap-title: 14px;
  --pad-form: 18px;
  --btn-secondary-border: 1px solid #c0c0c0;
}

.preset.kde_breeze {
  --font: 'Inter', sans-serif;
  --accent: #3DAEE9; --accent-strong: #2980b9; --accent-on: #fff;
  --bg: #EFF0F1; --surface: #FCFCFC; --on-surface: #232629; --label-color: #4d4d4d;
  --radius-sm: 2px; --radius-md: 2px; --radius-lg: 4px; --radius-btn: 2px;
  --pad-y: 7px; --pad-x: 10px;
  --shadow-form: 0 0 0 1px #BDC3C7, 0 1px 2px rgba(0,0,0,0.06);
  --input-border: 1px solid #BDC3C7;
  --gap-field: 9px;
  --pad-form: 16px;
  --btn-secondary-border: 1px solid #BDC3C7;
}

.preset.yaru {
  --font: 'Cabin', 'Inter', sans-serif;
  --accent: #E95420; --accent-strong: #c7491f; --accent-on: #fff;
  --bg: #F7F7F7; --surface: #fff; --on-surface: #3D3D3D; --label-color: #707070;
  --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-btn: 6px;
  --pad-y: 8px; --pad-x: 12px;
  --shadow-form: 0 0 0 1px rgba(0,0,0,0.08);
  --input-border: 1px solid #d3d3d3;
  --gap-field: 10px;
  --pad-form: 18px;
  --btn-secondary-border: 1px solid #d3d3d3;
}

.preset.macos_sonoma {
  --font: -apple-system, 'Inter', sans-serif;
  --accent: #007AFF; --accent-strong: #0062cc; --accent-on: #fff;
  --bg: rgba(255,255,255,0.78); --surface: rgba(255,255,255,0.9);
  --on-surface: #1d1d1f; --label-color: #6e6e73;
  --radius-sm: 6px; --radius-md: 10px; --radius-lg: 14px; --radius-btn: 999px;
  --pad-y: 9px; --pad-x: 14px;
  --shadow-form: 0 12px 40px rgba(0,0,0,0.18), 0 0 0 1px rgba(0,0,0,0.04);
  --input-border: 1px solid rgba(0,0,0,0.1);
  --input-shadow: inset 0 1px 0 rgba(0,0,0,0.04);
  --gap-field: 12px;
  --pad-form: 26px;
  --pad-btn-x: 22px;
  --backdrop: 1;
}

.preset.windows_11 {
  --font: 'Inter', 'Segoe UI', sans-serif;
  --accent: #0067C0; --accent-strong: #005ba1; --accent-on: #fff;
  --bg: linear-gradient(135deg, rgba(243,243,243,0.98), rgba(248,248,250,0.98));
  --surface: rgba(255,255,255,0.85); --on-surface: #1B1B1B; --label-color: #5C5C5C;
  --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-btn: 4px;
  --pad-y: 9px; --pad-x: 12px;
  --shadow-form: 0 4px 14px rgba(0,0,0,0.1), 0 0 0 1px rgba(0,0,0,0.05);
  --input-border: 1px solid #d1d1d1;
  --input-shadow: inset 0 -1px 0 rgba(0,0,0,0.08);
  --gap-field: 11px;
  --btn-secondary-border: 1px solid #d1d1d1;
}

.preset.ios_cupertino {
  --font: -apple-system, 'Inter', sans-serif;
  --accent: #007AFF; --accent-strong: #0062cc; --accent-on: #fff;
  --bg: #F2F2F7; --surface: #fff; --on-surface: #000; --label-color: #6c6c70;
  --radius-sm: 10px; --radius-md: 14px; --radius-lg: 20px; --radius-btn: 999px;
  --pad-y: 12px; --pad-x: 16px;
  --shadow-form: 0 1px 0 rgba(0,0,0,0.04);
  --input-border: 0; --input-shadow: 0 0 0 1px rgba(0,0,0,0.06);
  --gap-field: 12px;
  --pad-form: 22px;
  --pad-btn-x: 24px; --font-weight-btn: 600;
}

.preset.windows_95 {
  --font: 'DM Mono', 'Tahoma', monospace;
  --accent: #000080; --accent-strong: #0000a0; --accent-on: #fff;
  --bg: #C0C0C0; --surface: #fff; --on-surface: #000; --label-color: #000;
  --radius-sm: 0; --radius-md: 0; --radius-lg: 0; --radius-btn: 0;
  --pad-y: 4px; --pad-x: 6px;
  --shadow-form: inset 1px 1px #fff, inset -1px -1px #808080,
                 inset 2px 2px #dfdfdf, inset -2px -2px #000;
  --input-border: 0;
  --input-shadow: inset 1px 1px #808080, inset -1px -1px #fff,
                  inset 2px 2px #000, inset -2px -2px #dfdfdf;
  --gap-field: 8px;
  --pad-form: 12px;
  --font-size-input: 12px; --font-size-label: 11px; --font-size-title: 13px;
  --font-size-btn: 12px; --pad-btn-y: 4px; --pad-btn-x: 14px;
  --btn-shadow: inset 1px 1px #fff, inset -1px -1px #808080,
                inset 2px 2px #dfdfdf, inset -2px -2px #000;
  --btn-secondary-bg: #C0C0C0; --btn-primary-bg: #000080;
  --btn-secondary-fg: #000;
  --gap-title: 8px;
}
.preset.windows_95 .btn-secondary {
  background: #C0C0C0; box-shadow: var(--btn-shadow);
  border: 0;
}
.preset.windows_95 .btn-primary {
  background: #000080; box-shadow: var(--btn-shadow);
  border: 0;
}

.preset.aqua_classic {
  --font: 'Inter', 'Lucida Grande', sans-serif;
  --accent: #4D90FE; --accent-strong: #3870c5; --accent-on: #fff;
  --bg: linear-gradient(180deg, #d5e0ec, #b0c5dc);
  --surface: linear-gradient(180deg, #fff, #e6e6e6);
  --on-surface: #000; --label-color: #303030;
  --radius-sm: 8px; --radius-md: 12px; --radius-lg: 16px; --radius-btn: 999px;
  --pad-y: 9px; --pad-x: 12px;
  --shadow-form: 0 8px 24px rgba(0,0,0,0.25), inset 0 1px 0 rgba(255,255,255,0.6);
  --input-border: 1px solid #888;
  --input-shadow: inset 0 1px 0 rgba(255,255,255,0.4), inset 0 -1px 0 rgba(0,0,0,0.06);
  --gap-field: 11px;
}
.preset.aqua_classic .btn-primary {
  background: linear-gradient(180deg, #6da8ff, #2768d8);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), 0 1px 2px rgba(0,0,0,0.2);
}
.preset.aqua_classic input {
  background: linear-gradient(180deg, #fff, #e6e6e6);
}

/* ═══════════════════════════════════════════════════════════════
   GRUPO B — AESTHETIC PERSONALITIES (9)
   ═══════════════════════════════════════════════════════════════ */

.preset.terminal_classic {
  --font: 'JetBrains Mono', monospace;
  --accent: #33FF33; --accent-strong: #2ad62a; --accent-on: #000;
  --bg: #000; --surface: #001100; --on-surface: #33FF33; --label-color: #22aa22;
  --radius-sm: 0; --radius-md: 0; --radius-lg: 0; --radius-btn: 0;
  --pad-y: 6px; --pad-x: 10px;
  --shadow-form: 0 0 32px rgba(51,255,51,0.3), inset 0 0 0 1px #33FF33;
  --input-border: 1px solid #33FF33;
  --gap-field: 10px;
  --pad-form: 18px;
  --font-size-title: 14px;
  --letter-title: 0.1em; --label-case: uppercase;
  --btn-secondary-fg: #33FF33;
}
.preset.terminal_classic .form-title::before { content: '> '; }
.preset.terminal_classic input::placeholder { color: #225522; }

.preset.brutalist {
  --font: 'JetBrains Mono', monospace;
  --accent: #FF0000; --accent-strong: #c00; --accent-on: #fff;
  --bg: #fff; --surface: #fff; --on-surface: #000; --label-color: #000;
  --radius-sm: 0; --radius-md: 0; --radius-lg: 0; --radius-btn: 0;
  --pad-y: 8px; --pad-x: 10px;
  --shadow-form: 6px 6px 0 #000;
  --input-border: 2px solid #000;
  --gap-field: 12px;
  --pad-form: 20px;
  --font-weight-label: 700;
  --label-case: uppercase; --letter-label: 0.05em;
  --font-weight-title: 900; --letter-title: -0.02em;
  --btn-shadow: 4px 4px 0 #000;
  --btn-secondary-border: 2px solid #000;
  --font-weight-btn: 700; --label-case: uppercase;
}

.preset.newspaper {
  --font: 'Source Serif Pro', 'Cormorant Garamond', serif;
  --accent: #8B0000; --accent-strong: #6b0000; --accent-on: #fff;
  --bg: #FBF8F3; --surface: #fff; --on-surface: #1a1a1a; --label-color: #6b5d4f;
  --radius-sm: 2px; --radius-md: 4px; --radius-lg: 6px; --radius-btn: 4px;
  --pad-y: 10px; --pad-x: 14px;
  --shadow-form: 0 0 0 1px #d4c8b6;
  --input-border: 1px solid #c9b9a4;
  --gap-field: 16px;
  --pad-form: 28px;
  --font-size-title: 22px; --font-weight-title: 700;
}
.preset.newspaper .form-title {
  border-bottom: 2px solid #1a1a1a; padding-bottom: 12px;
  font-family: 'Cormorant Garamond', serif;
}

.preset.minimalist_mono {
  --font: 'Inter', sans-serif;
  --accent: #000; --accent-strong: #333; --accent-on: #fff;
  --bg: #fff; --surface: #fff; --on-surface: #000; --label-color: #888;
  --radius-sm: 0; --radius-md: 0; --radius-lg: 0; --radius-btn: 0;
  --pad-y: 12px; --pad-x: 0;
  --shadow-form: 0 0 0 1px #eee;
  --input-border: 0; --input-shadow: inset 0 -1px 0 #ddd;
  --focus-ring: inset 0 -2px 0 #000;
  --gap-field: 18px;
  --pad-form: 32px;
  --font-size-label: 11px; --label-case: uppercase; --letter-label: 0.1em;
  --font-weight-label: 500;
  --letter-title: -0.02em;
  --btn-secondary-bg: transparent;
}

.preset.compact_power_user {
  --font: 'Inter', sans-serif;
  --accent: #2563eb; --accent-strong: #1d4ed8; --accent-on: #fff;
  --bg: #fff; --surface: #fff; --on-surface: #111; --label-color: #555;
  --radius-sm: 2px; --radius-md: 4px; --radius-lg: 6px; --radius-btn: 4px;
  --pad-y: 4px; --pad-x: 8px;
  --shadow-form: 0 1px 3px rgba(0,0,0,0.08);
  --input-border: 1px solid #d4d4d4;
  --gap-field: 6px; --gap-label: 2px;
  --pad-form: 12px;
  --font-size-input: 12px; --font-size-label: 11px;
  --font-size-title: 13px; --gap-title: 8px;
  --pad-btn-y: 4px; --pad-btn-x: 12px; --font-size-btn: 12px;
}

.preset.bauhaus {
  --font: 'Bebas Neue', 'Inter', sans-serif;
  --accent: #FF0000; --accent-strong: #c00; --accent-on: #fff;
  --bg: #fff; --surface: #fff; --on-surface: #000; --label-color: #000;
  --radius-sm: 0; --radius-md: 0; --radius-lg: 0; --radius-btn: 0;
  --pad-y: 10px; --pad-x: 12px;
  --shadow-form: none;
  --input-border: 3px solid #000;
  --gap-field: 14px;
  --pad-form: 24px;
  --font-size-title: 28px; --letter-title: 0.05em;
  --letter-btn: 0.1em; --btn-case: uppercase;
}
.preset.bauhaus {
  border: 4px solid #000; background:
    repeating-linear-gradient(90deg, transparent 0 25%, rgba(0,102,204,0.06) 25% 50%, rgba(255,213,0,0.06) 50% 75%);
}
.preset.bauhaus .form-card { border: 4px solid #000; }

.preset.cyberpunk_neon {
  --font: 'JetBrains Mono', monospace;
  --accent: #FF00FF; --accent-strong: #cc00cc; --accent-on: #000;
  --bg: #0a0014; --surface: #14001f; --on-surface: #00FFFF; --label-color: #c100ff;
  --radius-sm: 2px; --radius-md: 4px; --radius-lg: 8px; --radius-btn: 4px;
  --pad-y: 9px; --pad-x: 12px;
  --shadow-form: 0 0 32px rgba(255,0,255,0.4), inset 0 0 0 1px #FF00FF;
  --input-border: 1px solid #00FFFF;
  --input-shadow: 0 0 8px rgba(0,255,255,0.3);
  --gap-field: 12px;
  --pad-form: 20px;
  --letter-title: 0.05em;
  --btn-shadow: 0 0 12px var(--accent);
}
.preset.cyberpunk_neon .form-title { text-shadow: 0 0 8px #00FFFF; }

.preset.synthwave {
  --font: 'Inter', sans-serif;
  --accent: #FF00B6; --accent-strong: #d6009b; --accent-on: #fff;
  --bg: linear-gradient(180deg, #2c0050 0%, #ff00b6 130%);
  --surface: rgba(20,0,40,0.85); --on-surface: #fff; --label-color: #ff7ed4;
  --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px; --radius-btn: 8px;
  --pad-y: 10px; --pad-x: 14px;
  --shadow-form: 0 16px 48px rgba(255,0,182,0.3), 0 0 0 1px rgba(255,0,182,0.4);
  --input-border: 1px solid rgba(255,126,212,0.4);
  --input-shadow: inset 0 0 12px rgba(255,0,182,0.1);
  --gap-field: 12px;
  --pad-form: 22px;
}
.preset.synthwave .form-title {
  background: linear-gradient(90deg, #ff00b6, #00ffff);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 700;
}

.preset.glassmorphism {
  --font: 'Inter', sans-serif;
  --accent: #6366f1; --accent-strong: #4f46e5; --accent-on: #fff;
  --bg: rgba(255,255,255,0.15); --surface: rgba(255,255,255,0.25);
  --on-surface: #1a1a2e; --label-color: #494a5e;
  --radius-sm: 8px; --radius-md: 12px; --radius-lg: 20px; --radius-btn: 12px;
  --pad-y: 10px; --pad-x: 14px;
  --shadow-form: 0 8px 32px rgba(31,38,135,0.2), inset 0 1px 0 rgba(255,255,255,0.5);
  --input-border: 1px solid rgba(255,255,255,0.4);
  --gap-field: 13px;
  --pad-form: 24px;
}
.preset.glassmorphism .form-card {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.preset.glassmorphism { background:
  radial-gradient(circle at 20% 20%, #ff6ec4, transparent 50%),
  radial-gradient(circle at 80% 60%, #7873f5, transparent 50%),
  #1a1a2e;
}
.preset.glassmorphism input {
  background: rgba(255,255,255,0.2);
  backdrop-filter: blur(8px);
}

/* ═══════════════════════════════════════════════════════════════
   PROPOSTAS — GRUPO A EXTRA (OS modernos não cobertos) — 4
   ═══════════════════════════════════════════════════════════════ */

.preset.material_expressive {
  --font: 'Roboto', 'Inter', sans-serif;
  --accent: #6E47C5; --accent-strong: #553a9c; --accent-on: #fff;
  --bg: #FAF7FF; --surface: #fff; --on-surface: #1C1B1F; --label-color: #49454F;
  --radius-sm: 12px; --radius-md: 24px; --radius-lg: 40px; --radius-btn: 999px;
  --pad-y: 16px; --pad-x: 18px;
  --shadow-form: 0 12px 32px rgba(110,71,197,0.18), 0 4px 8px rgba(0,0,0,0.06);
  --input-border: 2px solid #CAC4D0;
  --btn-shadow: 0 4px 12px rgba(110,71,197,0.3);
  --gap-field: 18px;
  --pad-btn-y: 12px; --pad-btn-x: 28px; --font-weight-btn: 600;
}

.preset.pantheon {
  --font: 'Inter', 'Open Sans', sans-serif;
  --accent: #64BAFF; --accent-strong: #3892E0; --accent-on: #fff;
  --bg: #F5F5F5; --surface: #fff; --on-surface: #333; --label-color: #6c6c6c;
  --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px; --radius-btn: 6px;
  --pad-y: 9px; --pad-x: 12px;
  --shadow-form: 0 4px 12px rgba(0,0,0,0.12), 0 0 0 1px rgba(0,0,0,0.04);
  --input-border: 1px solid #d0d0d0;
  --gap-field: 11px;
  --pad-form: 22px;
  --btn-secondary-border: 1px solid #d0d0d0;
}

.preset.plasma6 {
  --font: 'Inter', 'Noto Sans', sans-serif;
  --accent: #1d99f3; --accent-strong: #1671b8; --accent-on: #fff;
  --bg: #FCFCFC; --surface: #fff; --on-surface: #232629; --label-color: #4d4d4d;
  --radius-sm: 4px; --radius-md: 6px; --radius-lg: 10px; --radius-btn: 4px;
  --pad-y: 9px; --pad-x: 12px;
  --shadow-form: 0 2px 8px rgba(0,0,0,0.08), 0 0 0 1px rgba(0,0,0,0.06);
  --input-border: 1px solid #BDC3C7;
  --gap-field: 10px;
  --pad-form: 20px;
  --btn-secondary-border: 1px solid #BDC3C7;
}

.preset.fluent_design {
  --font: 'Inter', 'Segoe UI', sans-serif;
  --accent: #0078D4; --accent-strong: #005a9e; --accent-on: #fff;
  --bg: rgba(243,243,243,0.95); --surface: rgba(255,255,255,0.78);
  --on-surface: #1B1B1B; --label-color: #5C5C5C;
  --radius-sm: 4px; --radius-md: 8px; --radius-lg: 10px; --radius-btn: 4px;
  --pad-y: 9px; --pad-x: 12px;
  --shadow-form: 0 8px 16px rgba(0,0,0,0.14), 0 0 0 1px rgba(0,0,0,0.06);
  --input-border: 1px solid #c8c8c8;
  --input-shadow: inset 0 -1px 0 #5c5c5c;
  --gap-field: 12px;
  --btn-secondary-border: 1px solid #c8c8c8;
}
.preset.fluent_design .form-card { backdrop-filter: blur(20px); }

/* ═══════════════════════════════════════════════════════════════
   PROPOSTAS — GRUPO B EXTRA (aesthetic) — 5
   ═══════════════════════════════════════════════════════════════ */

.preset.neumorphism {
  --font: 'Inter', sans-serif;
  --accent: #4f46e5; --accent-strong: #4338ca; --accent-on: #fff;
  --bg: #e0e5ec; --surface: #e0e5ec; --on-surface: #2c3e50; --label-color: #6b7c8e;
  --radius-sm: 10px; --radius-md: 16px; --radius-lg: 24px; --radius-btn: 12px;
  --pad-y: 12px; --pad-x: 16px;
  --shadow-form: 8px 8px 16px #b8bec6, -8px -8px 16px #ffffff;
  --input-border: 0;
  --input-shadow: inset 4px 4px 8px #b8bec6, inset -4px -4px 8px #ffffff;
  --gap-field: 16px;
  --pad-form: 28px;
  --btn-shadow: 4px 4px 8px #b8bec6, -4px -4px 8px #ffffff;
}
.preset.neumorphism .btn-secondary {
  background: #e0e5ec; box-shadow: var(--btn-shadow); color: var(--on-surface);
}
.preset.neumorphism .btn-primary { box-shadow: 4px 4px 8px rgba(79,70,229,0.4); }

.preset.high_contrast {
  --font: 'Inter', sans-serif;
  --accent: #FFFF00; --accent-strong: #FFEE00; --accent-on: #000;
  --bg: #000; --surface: #000; --on-surface: #fff; --label-color: #FFFF00;
  --radius-sm: 0; --radius-md: 2px; --radius-lg: 4px; --radius-btn: 4px;
  --pad-y: 12px; --pad-x: 14px;
  --shadow-form: 0 0 0 3px #FFFF00;
  --input-border: 2px solid #fff;
  --focus-ring: 0 0 0 4px #FFFF00;
  --gap-field: 16px;
  --pad-form: 24px;
  --font-weight-label: 700;
  --font-weight-title: 700; --font-size-title: 20px;
  --btn-secondary-border: 2px solid #fff;
  --btn-secondary-fg: #fff;
}
.preset.high_contrast .btn-primary { color: #000; font-weight: 700; }

.preset.dieter_rams {
  --font: 'Inter', sans-serif;
  --accent: #FF6600; --accent-strong: #cc5200; --accent-on: #fff;
  --bg: #F5F5F5; --surface: #fff; --on-surface: #1a1a1a; --label-color: #666;
  --radius-sm: 2px; --radius-md: 3px; --radius-lg: 4px; --radius-btn: 2px;
  --pad-y: 10px; --pad-x: 12px;
  --shadow-form: 0 1px 2px rgba(0,0,0,0.05);
  --input-border: 1px solid #ccc;
  --gap-field: 14px;
  --pad-form: 24px;
  --font-weight-label: 400; --letter-label: 0.02em;
  --font-weight-title: 500;
  --btn-secondary-border: 1px solid #999;
}

.preset.swiss {
  --font: 'Inter', 'Helvetica Neue', sans-serif;
  --accent: #FF0000; --accent-strong: #cc0000; --accent-on: #fff;
  --bg: #fff; --surface: #fff; --on-surface: #000; --label-color: #000;
  --radius-sm: 0; --radius-md: 0; --radius-lg: 0; --radius-btn: 0;
  --pad-y: 10px; --pad-x: 12px;
  --shadow-form: 0 0 0 1px #000;
  --input-border: 0; --input-shadow: inset 0 -2px 0 #000;
  --focus-ring: inset 0 -3px 0 var(--accent);
  --gap-field: 20px;
  --pad-form: 32px;
  --font-size-title: 32px; --font-weight-title: 800; --letter-title: -0.03em;
  --font-weight-label: 700; --letter-label: -0.01em;
  --font-weight-btn: 700;
}

.preset.frutiger_aero {
  --font: 'Inter', sans-serif;
  --accent: #00B7FF; --accent-strong: #0091cc; --accent-on: #fff;
  --bg: linear-gradient(180deg, #cdeaff 0%, #e0fff0 100%);
  --surface: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(220,240,255,0.85));
  --on-surface: #003a5c; --label-color: #006ba1;
  --radius-sm: 8px; --radius-md: 12px; --radius-lg: 20px; --radius-btn: 999px;
  --pad-y: 10px; --pad-x: 14px;
  --shadow-form: 0 8px 24px rgba(0,140,200,0.18), inset 0 1px 0 rgba(255,255,255,0.9);
  --input-border: 1px solid rgba(0,140,200,0.3);
  --input-shadow: inset 0 1px 0 rgba(255,255,255,0.8);
  --gap-field: 12px;
  --pad-form: 22px;
}
.preset.frutiger_aero .btn-primary {
  background: linear-gradient(180deg, #6ad0ff, #00B7FF 50%, #0095d8);
  box-shadow: 0 2px 6px rgba(0,140,200,0.4), inset 0 1px 0 rgba(255,255,255,0.6);
}

/* ═══════════════════════════════════════════════════════════════
   PROPOSTAS — GRUPO C NOVO (Cultural/Regional) — 3
   ═══════════════════════════════════════════════════════════════ */

.preset.japanese_mu {
  --font: 'Inter', 'Noto Sans JP', sans-serif;
  --accent: #8B0000; --accent-strong: #6b0000; --accent-on: #fff;
  --bg: #FAF8F3; --surface: #fff; --on-surface: #1a1a1a; --label-color: #888;
  --radius-sm: 0; --radius-md: 2px; --radius-lg: 4px; --radius-btn: 2px;
  --pad-y: 14px; --pad-x: 0;
  --shadow-form: 0 0 0 1px #e8e2d6;
  --input-border: 0; --input-shadow: inset 0 -1px 0 #d4cab9;
  --focus-ring: inset 0 -2px 0 #8B0000;
  --gap-field: 28px;
  --pad-form: 40px;
  --font-size-label: 11px; --letter-label: 0.15em; --label-case: uppercase;
  --font-weight-label: 400;
  --gap-title: 32px;
  --font-size-title: 16px; --font-weight-title: 400; --letter-title: 0.05em;
}

.preset.mediterranean {
  --font: 'Inter', sans-serif;
  --accent: #1A6C9C; --accent-strong: #0e547d; --accent-on: #fff;
  --bg: #FAF3E0; --surface: #fff; --on-surface: #3D3527; --label-color: #8B6F47;
  --radius-sm: 6px; --radius-md: 10px; --radius-lg: 16px; --radius-btn: 8px;
  --pad-y: 11px; --pad-x: 14px;
  --shadow-form: 0 6px 20px rgba(139,111,71,0.15), 0 0 0 1px rgba(139,111,71,0.1);
  --input-border: 1px solid #d4c5a5;
  --gap-field: 13px;
  --pad-form: 24px;
}

.preset.memphis_pop {
  --font: 'Bebas Neue', 'Inter', sans-serif;
  --accent: #FF66B2; --accent-strong: #e0479a; --accent-on: #fff;
  --bg: #FFF8DC; --surface: #fff; --on-surface: #1a1a1a; --label-color: #333;
  --radius-sm: 0; --radius-md: 6px; --radius-lg: 12px; --radius-btn: 999px;
  --pad-y: 10px; --pad-x: 14px;
  --shadow-form: 8px 8px 0 #00B5E2, 0 0 0 3px #1a1a1a;
  --input-border: 3px solid #1a1a1a;
  --gap-field: 14px;
  --pad-form: 24px;
  --font-size-title: 26px; --letter-title: 0.04em;
  --letter-btn: 0.05em; --btn-case: uppercase;
}
.preset.memphis_pop .form-card { background:
  repeating-linear-gradient(45deg, #fff 0 8px, #FFE0F0 8px 16px); }

