/* Generated from ttw_components_astro Action/Surface. Do not edit this copy. */
/* action.astro */
.ttw_action {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    max-width: 100%;
    padding: 12px 22px;
    border: 1px solid transparent;
    border-radius: var(--ttw_radius, 10px);
    font-family: var(--ttw_font_family, inherit);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
  }
  .ttw_action_primary { background: var(--ttw_color_primary, #4f46e5); color: var(--ttw_color_on_primary, #fff); }
  .ttw_action_primary:hover:not(:disabled) { background: var(--ttw_color_primary_hover, #4338ca); color: var(--ttw_color_on_primary, #fff); }
  .ttw_action_success { background: var(--ttw_color_success, #047857); color: var(--ttw_color_on_success, #fff); }
  .ttw_action_success:hover:not(:disabled) { background: var(--ttw_color_success_hover, #065f46); color: var(--ttw_color_on_success, #fff); }
  .ttw_action_secondary { background: var(--ttw_color_surface, #fff); color: var(--ttw_color_text, #0f172a); border-color: var(--ttw_color_border, #cbd5e1); }
  .ttw_action_secondary:hover:not(:disabled) { background: var(--ttw_color_bg, #f8fafc); color: var(--ttw_color_text, #0f172a); border-color: var(--ttw_color_text_secondary, #475569); }
  .ttw_action_ghost { background: transparent; color: var(--ttw_color_text, #0f172a); }
  .ttw_action_ghost:hover:not(:disabled) { background: var(--ttw_color_bg, #f8fafc); color: var(--ttw_color_text, #0f172a); }
  .ttw_action_danger { background: var(--ttw_color_error, #b91c1c); color: var(--ttw_color_on_error, #fff); }
  .ttw_action_danger:hover:not(:disabled) { background: var(--ttw_color_error_hover, #991b1b); color: var(--ttw_color_on_error, #fff); }
  .ttw_action_full { width: 100%; }
  .ttw_action[hidden] { display: none; }
  .ttw_action:focus-visible { outline: 2px solid var(--ttw_color_primary, #4f46e5); outline-offset: 4px; }
  .ttw_action:disabled { opacity: 0.55; cursor: not-allowed; }
  .ttw_action svg { flex-shrink: 0; }
  @media (prefers-reduced-motion: reduce) { .ttw_action { transition: none; } }

/* surface.astro */
.ttw_surface {
    box-sizing: border-box;
    min-width: 0;
    background: var(--ttw_color_surface, #fff);
    color: var(--ttw_color_text, #0f172a);
    border: 1px solid var(--ttw_color_border, #e2e8f0);
    border-radius: var(--ttw_radius_lg, 16px);
    box-shadow: var(--ttw_shadow_card, 0 2px 6px rgb(15 23 42 / 4%));
  }
  .ttw_surface_regular { padding: clamp(20px, 3vw, 32px); }
  .ttw_surface_roomy { padding: clamp(24px, 4vw, 40px); }
