# ─────────────────────────────────────────────────────────────────────────────
# liberux.toml — Liberux ToolKit external theme file
# Edit freely; the application reloads this file at startup.
# All colors must be hex strings: "#RRGGBB" or "#RRGGBBAA".
# All sizes are in logical pixels (f32).
# ─────────────────────────────────────────────────────────────────────────────

# ── Global button geometry ────────────────────────────────────────────────────

[button]
# Fully rounded pill shape; set to e.g. 8.0 for rectangular corners.
border_radius = 100.0

[button.spacing]
# Gap between icon and label text (px)
icon_gap = 8.0

# ── Button heights per size variant ──────────────────────────────────────────

[button.sizes]
sm      = 40.0
default = 48.0
lg      = 56.0

# ── Horizontal padding [vertical, horizontal] per size variant ───────────────

[button.padding]
sm      = [0.0, 20.0]
default = [0.0, 24.0]
lg      = [0.0, 28.0]

# ── Primary button (cyan fill) ───────────────────────────────────────────────

[button.primary]
default_bg    = "#00CFE8"
default_text  = "#0B1B38"

hover_bg      = "#0B1B38"
hover_text    = "#FFFFFF"

pressed_bg    = "#7EE8F2"
pressed_text  = "#0B1B38"

# Focus ring drawn as a border on top of the default state
focus_outline = "#00CFE8"
focus_width   = 3.0

disabled_bg   = "#E5E7EB"
disabled_text = "#9CA3AF"

# ── Secondary button (outlined, white fill) ──────────────────────────────────

[button.secondary]
default_bg     = "#FFFFFF"
default_text   = "#0B1B38"
default_border = "#0B1B38"
border_width   = 2.0

hover_bg       = "#6B7280"
hover_text     = "#FFFFFF"

pressed_bg     = "#FFFFFF"
pressed_text   = "#0B1B38"
pressed_border = "#00CFE8"

focus_bg       = "#00CFE8"
focus_text     = "#0B1B38"

disabled_bg     = "#F3F4F6"
disabled_text   = "#9CA3AF"
disabled_border = "#D1D5DB"

# ── Tertiary button (transparent, underlined text) ───────────────────────────

[button.tertiary]
default_text  = "#0B1B38"

hover_bg      = "#0B1B38"
hover_text    = "#FFFFFF"

focus_text    = "#0B1B38"

disabled_text = "#9CA3AF"

# ── Typography ────────────────────────────────────────────────────────────────

[typography]
font_size_sm      = 14.0
font_size_default = 16.0
font_size_lg      = 18.0

# ── Input text ────────────────────────────────────────────────────────────────

[input]
border_radius  = 100.0
height_default = 48.0
height_lg      = 56.0
label_size     = 16.0
helper_size    = 14.0
error_color    = "#DC2626"
spacing        = 4.0

[input.padding]
default = [13.0, 20.0]
lg      = [17.0, 24.0]

# ── Default variant: fondo blanco con borde fino ──────────────────────────────

[input.default]
bg                 = "#FFFFFF"
border_color       = "#D1D5DB"
border_width       = 1.5
text_color         = "#0B1B38"
placeholder_color  = "#9CA3AF"
selection_color    = "#00CFE840"

focus_border_color = "#0B1B38"
focus_border_width = 2.0

disabled_bg        = "#F9FAFB"
disabled_border    = "#E5E7EB"
disabled_text      = "#9CA3AF"

error_bg           = "#FFF0F0"
error_border       = "#F87171"
error_border_width = 1.5

# ── Filled variant: fondo gris sin borde inicial ─────────────────────────────

[input.filled]
bg                 = "#F3F4F6"
border_color       = "#F3F4F6"
border_width       = 0.0
text_color         = "#0B1B38"
placeholder_color  = "#9CA3AF"
selection_color    = "#00CFE840"

focus_border_color = "#0B1B38"
focus_border_width = 2.0

disabled_bg        = "#E5E7EB"
disabled_border    = "#E5E7EB"
disabled_text      = "#9CA3AF"

error_bg           = "#FFF0F0"
error_border       = "#F87171"
error_border_width = 1.5
